查看: 1823|回复: 0

[技术交流] 蓝牙MESH【Q/A】2.0

[复制链接]

2

主题

2

帖子

6

积分

助理工程师

Rank: 1

积分
6
发表于 2019-4-19 18:31:13 | 显示全部楼层 |阅读模式
抓包后MESH消息的解析
包解析
Network PDU的结构定义如上图所示:
1)IVI是 用来认证加密Network PDU的IV Index的最低位。
2)NID域包含一个7bit的 network identifier,用来提供一种简单的方式查找加密认证Network PDU所使用的Encryption Key和Privacy Key。NID是派生于Network Key,与Encryption Key和Privacy Key关联。
3)CTL位判断消息是否是控制消息,当该位是1时,表示消息是control message。该位为0,则表示消息位access message。
CTL为0时,NetMIC是32-bit的值,下传输层包含access message。
Access Message:该类消息与model挂钩。
CTL为1时,NetMIC是64-bit的值,下传输层包含control message。
Control Message:与蓝牙mesh网络操作有关的消息,例如心跳(heartbeat)和friend的请求消息。
4)TTL是一个7-bit的值,表示消息跳转的次数。
0=没有被中继且不会被中继。
1=已经被中继过,不会再次中继
2~126 = 可能被中继过,仍将继续中继
127= 没有被中继,可以被中继
5)SEQ:该成员是一个24-bit的值,IV index联合使用,对于每一个network PDU来说,这是一个由节点产生的唯一的值。
6)SRC:源地址,必须是unicast address。可以根据源地址识别产生该消息的element。
源地址由产生该消息的element设置,并且在传输过程中不会被中继节点接触(可以理解为对中继节点不可见)。
7)DST:目的地址,16-bit值,可以时unicast address、virtual address、group address。
在传输过程中,不会被中继节点的网络层接触(理解为对中继节点网络层不可见)。
8)Transport PDU:传输的字节数据,当CTL设置为1时,该域最大96 bit。当CTL为0时,最大长度为128 Bits。Transport PDU 是被产生该消息的下传输层设置,不能被网络层改变。
9) NetMIC:该域长度取决于CTL,当CTL为0时,该域为64-bit;当CTL为1时,该域为32-bit。
NetMIC用于确认DST和Transport PDU没有被破坏。
NetMIC会被每一个传输、中继该消息的节点的网络层设置。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表