共计 2026 个字符,预计需要花费 6 分钟才能阅读完成。
前言
好久不见啊,大伙假期过得咋样?
最近我在钻研 Zigbee , 应用了 EFR32(购买链接)的开发板,之前也钻研过一点, 水了几篇文章,然而没有深理解和应用。最近 arduino 玩腻了,我开始回过头去持续钻研 Zigbee,这里举荐一下芯科科技的视频教程(视频链接)做得的确不错,然而学习的过程中,我遇到一个问题:不晓得什么起因 Simplicity studio 自带的抓包工具我用不了,不能抓包就很好受了啊。于是我钻研了一下如何通过其余办法抓 zigbee 包。
不过 Simplicity studio 平台尽管材料比拟少,有点简单,然而相熟之后的确很好用,比 IAR 什么的要不便很多。
筹备阶段
咱们须要一个 CC2531 协定分析仪,还须要装置 Wireshark(这里我用的 2.4.10 版本,据说只能用 2.4.x 版本),和 TiWsPc。
须要留神的是 Wireshark 和 TiWsPc 必须装置在默认门路下,而且必须先装置 Wireshark 后装置 TiWsPc,装置实现之后在 Wireshark 的快捷方式后加上:
空格 -i\.\pipe\tiwspc_data -k // 留神!空格很重要!
应用的时候须要先关上 TiWsPc 而后关上 Wireshark!
应用步骤
TiWsPc
关上 TiWsPc 按程序点击和勾选,对应的按钮,实现之后就会变成上图所示的样子。
留神:4 号框是抉择信道的地位,不分明是哪个信道的须要一个个去试,看哪个信道能抓到包。
Wireshark
实现下面的安排,关上 TiWsPc 后,点击之前被咱们批改过的那个 Wireshark 的快捷方式,将会跳过抉择网卡的界面,间接进入抓包界面:
不过咱们的 zigbee 是加密的,所以这时抓到的包咱们是没方法解读的,须要配置 Link Key。
解析报文
在 Wireshark 中按快捷键:Ctrl+Shift+P 关上首选项窗口,在右边菜单找到 Protocols 下拉菜单,在最上面找到 Zigbee,而后点击 Edit 按钮,增加 Link Key:
这里给大家提供一些罕用的 Link Key:
# This file is automatically generated, DO NOT MODIFY.
"5A6967426565416C6C69616E63653039","Normal","""821fd8fd9e8b54497ab7905516a38c21","Normal","""9b24d9cac760e566b35cb1c25f183dde","Normal","""c4f96ae7000506d3fcd1627fb85d7eeb","Normal","""aa27404546133c11a2bff89dbe2b74e9","Normal","""1770b5f6036c8152af280d6e1ba4594a","Normal","""27404546133c11a2bff89dbe2b74e99a","Normal","""6bb429da97f0357683ec01d22fa88dee","Normal","""691ad73075b6c32c41126fe8cd2edb64","Normal","""7d1e0bd4c9fa3710d596230ca1f2cfc8","Normal","""2aa7c0c5c693bc91223f781d3eabf469","Normal","""e4998a8720a526731c71821fd8fd9e8b","Normal","""d73075b6c32c41126fe8cd2edb64190a","Normal",""
Zigbee 的加密
这里咱们增加的是 Link Key,然而 Zigbee 在网络层还有一层加密 NWK Key。
这就要说一下 Zigbee 加密形式。Zigbee 别离在 APS 层和网络层进行了加密,也就是对应了 Link Key 和 NWK Key。
NWK Key 的逐跳传输方式,每一个设施都要晓得雷同的 NWK Key,ZigBee 大部分通信数据都应用的 NWK Key 加密,而 NWK Key 是在网络创立的时候由 ZC 节点随机生成的,而新退出的设施的获取这个 NWK Key 的信息是通过 Link Key 加密的,因为这时候设施还没有入网。
Link Key 是端对端传输,只有发送端和接收端晓得 key,中途传递的设施不须要晓得,也不须要解密。这个 Link Key 大部分时候是用来传输 NWK Key,也就是说咱们晓得 Link Key 后就能够通过抓取设施入网时携带了 NWK Key 的包,进而晓得 NWK Key。
这个看起来很麻烦的过程 Wireshark 曾经能够主动帮咱们实现了,Wireshark 增加了 Link Key 后,捕捉到一个设施的入网过程,则 Wireshark 会主动从这个入网过程中解析出该 Zigbee 网络的 NWK KEY。
总结
Wireshark 天下第一! 我之前还在苦兮兮的想怎么能力抓到携带了 NWK Key 的包,而后发现 Wireshark 竟然主动实现了!真是太强了!