NXP ZigBee 3.0 Device 抓包数据基础分析

NXP ZigBee 3.0 Device 抓包数据基础分析

       对 Zigbee 通讯的设备进行数据抓包,能够看到设备实际传输数据内容,有利于分析Zigbee 网络的问题。下图是新设备入网过程 Ubiqua 捕获到的多个数据包。以 Transport Key 数据包进行分析为例。

       在上图中可以看到 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 包含信息如下图:

  1. Frame Type: MAC 帧类型 ,Data 表示这是 MAC 的 Data 帧。
  2. Security Enabled: No 表示该帧数据在 MAC 层不受安全加密。
  3. Frame Pending: 如果发送帧的设备有更多的数据给接收者,则设置为 1 位。否则,此子字段应设置为零。
  4. Acknowledgment Request: 指定接收方设备在接收到数据或 MAC 命令帧时是否需要确认,此帧为需要。
  5. Intra- PAN: 指定当源地址和目标地址同时存在时,是否只发送包含一个 PAN ID 字段的 MAC 帧。此帧是。
  6. Destination Addressing Mode: 表示该帧目标节点使用 16 位短地址。
  7. Source Addressing Mode: 表示该帧发送节点使用 16 位短地址。

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. Protocol Version: 网络层协议版本号。此帧 2 。
  3. Discover Route: 是否使用控制路由发现。此帧是。
  4. Multicast Flag: 如果帧是单播或广播帧,它的值为 0 ;如果是多播帧,它的值为 1 。此帧数据不是多播传输。
  5. Security Enabled: NWK层是否需要安全保护。 No 表示不需要安全保护。
  6. Source Route: 出现路由子帧为 1,否则为 0 。

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 包含信息如下图:

  1. Frame Type: APS 帧类型。此处是 APS Command 帧,表示发送命令。
  2. Delivery Mode: 传输方式。该数据包是单播方式传输到目的节点。
  3. Ack Format: 控制 acknowledgement frame 格式。0 表示该帧的 Acknowledgement 帧中出现 destination endpoint 、 cluster identifier 、profile identifier 、source endpoint 。1 ,表示不出现。
  4. Security Enabled: APS 层是否需要安全保护。Yes 表示需要安全保护。
  5. Acknowledgement Request: 是否需要 acknowledgement frame 。No 表示不需要目的节点发送确认。
  6. Extended Header Present: No 表示该 APS 帧没有扩展帧。

3.2  APS Counter:

       防止重复帧的处理。此值将为每一个新传输增加一个。

       APS Aux Header: 在 Security Enabled 为 Yes 才会出现附加帧。

3.3  APS Aux Header(NWK Aux Header 与此相同)包含信息如下图:

  1. Security Control :
              a. Security Level: 帧的安全保护方式。None 表示不加密,不提供完整信息。
              b. Key Identifier: 用于保护帧的密钥。key-transport key 是表示传输密钥加密 APS 。
              c. Extended Nonce: Yes ,表示存在辅助帧的发送方地址。
       2. Frame Counter: 防止重复帧的处理。此值将为每一个新传输增加一个。
       3. Source Address: 辅助帧的发送方地址。该帧发送方地址: 00: 15: 8D: 00: 00: F4: D2: 62 。
       4. Key Sequence: 密钥序列号。使用 Network key 才会出现 Key Sequence 。该帧使用的是 key-transport key 。

3.4  Frame Payload

  1. APS Command ID: 标识正在使用的 APS 命令。这里表示发送 Transport Key 命令。
  2. Key Type: 表示传输是 Standard Network Key 。
  3. Key Descriptor:
              a. Key: 表示 Standard Network Key 值是 59: 4A: 47: E0: 65: E6: 33: DC: 31: 42: DF: 98: BD: 5E: 4B: 14 。
              b. Sequence Number: 序列号,用于防止接收重复帧。
              c. Destination Address: 接收该密钥的节点地址,这里是 00: 15: 8D: 00: 00: 32: EA: 60。
              d. Source Address: 发送该密钥的节点地址,这里是 00: 15: 8D: 00: 00: F4: D2: 62 。

       故 Transport Key 数据包传输网络密钥 59: 4A: 47: E0: 65: E6: 33: DC: 31: 42: DF: 98: BD: 5E: 4B: 14 。由短地址 0X0000 的节点传输给短地址 0X0921 的节点。网络密钥通过 APS 层、NWK 层、MAC 层组装成完整数据发送至目的节点,在目的节点分解包得到该网络密码。

       参考资料:

  1. docs-05-3474-21-0csg-zigbee-specification-PRO2015.pdf
  2. 15.4-2006.pdf

技术文档

类型标题档案
硬件IEEE Std

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论