大家好,又见面了,之前出了关于 ZigBee 抓包的工具和方法,很多亲们表示抓到了,不过抓出来的一长溜一长溜的数据是啥意思呢?
对 Zigbee 通讯的设备进行数据抓包,能够看到设备实际传输数据内容,有利于分析Zigbee 网络的问题。下图是新设备入网过程 Ubiqua 捕获到的多个数据包。以 Transport Key 数据包进行分析为例。
在图 1 中可以看到 Transport Key 数据包是来自 APS 层,由节点网络地址 0X00 传输给节点网络地址 0X0921 。Zigbee 3.0 网络架构分为: PHY 物理层、 MAC 数据链路层、NWK 网络层、 APL 应用层( APS 属于应用层)。抓包无法体现 PHY 层,所以下面就 MAC 、NWK 、APS 层来分析 Transport Key 数据包。
一、 MAC 层分析 Transport Key
MAC 层的帧格式有 4 种:Beacon 、Data 、Acknowledgment 、MAC command ,每种类型帧格式有差异。MAC 中一般帧格式如下图:
MHR 、MAC Payload 、MFR 对应抓包数据内容:
1.1 MAC Frame Control 包含信息如下图:
2. Security Enabled: No 表示该帧数据在 MAC 层不受安全加密。
1.2 Sequence Number:
防止重复帧的处理。此值将为每一个新传输增加一。
1.3 Destination PAN Identifier:
表示目标节点所在 PID 是 0XBA74 。
1.4 Destination Address:
目的节点地址 0X0921 。
1.5 Source Address:
源节点地址 0X0000 。
1.6 MAC Payload:
此处为 NWK 层中 Transport Key 数据。
二、 NWK 层分析 Transport Key
NWK 层的帧格式有 2 种:Data 、NWK command ,每种类型帧格式差异。NWK 中一般帧格式如下图:
NWK header 、Payload 对应抓包数据内容:
2.1 Nwk Frame Control 包含信息如下图:
1. Frame Type: 此帧为 Date ,表示是 NWK data 帧。
2.2 Destination IEEE Address Include:
NO 表示该 NWK 帧不包括目的节点 IEEE 地址。
2.3 Source IEEE Address Include:
NO 表示该 NWK 帧不包括源节点 IEEE 地址。
2.4 Destination Address:
目的节点短地址 0X0921 。
2.5 Source Address:
源节点短地址 0X0000 。
2.6 Radius:
设备将数据发送到网关,途径路由转发,该值就会被减 1 。目前为 0X1E 。
2.7 Sequence Number:
用于防止接收重复帧。此值将为每一个新传输增加一。
2.8 NWK Payload:
此处为 APS 层中 Transport Key 数据。
三、 APS 层分析 Transport Key
APS 层的帧格式有 3 种: Data 、command 、acknowledgement ,每种类型帧格式有差异。APS 中一般帧格式如下图:
APS header 、APS Payload 对应抓包数据内容:
3.1 APS Frame Control 包含信息如下图:
3.2 APS Counter:
防止重复帧的处理。此值将为每一个新传输增加一个。
APS Aux Header: 在 Security Enabled 为 Yes 才会出现附加帧。
3.3 APS Aux Header(NWK Aux Header 与此相同)包含信息如下图:
3.4 Frame Payload
故 Transport Key 数据包传输网络密钥 59: 4A: 47: E0: 65: E6: 33: DC: 31: 42: DF: 98: BD: 5E: 4B: 14 。由短地址 0X0000 的节点传输给短地址 0X0921 的节点。网络密钥通过 APS 层、NWK 层、MAC 层组装成完整数据发送至目的节点,在目的节点分解包得到该网络密码。
今天的分享就到这里,你学废了吗?如果还有其他想知道的,欢迎给我留言哦!
参考资料:
评论