勤劳的蜜蜂2018的个人空间 https://bbs.21ic.com/?3030500 [收藏] [复制] [RSS]

日志

使用Packet Sniffer抓包和分析(z-stack协议)

已有 169 次阅读2021-3-16 14:07 |系统分类:兴趣爱好

以下内容仅是自己学习总结,可能会有错误,有发现问题的欢迎指正(图片可以自己放大,还是比较清晰的)。


 


1、协调器上电,其他设备均不上电,抓包如下:



通过观察可以发现,协调器建立网络成功后,会以15秒为周期告知自己的网络连接状态,


 


2、关闭协调器,路由器上电,抓包如下:



路由器会不断的发送Beacon request来请求网络信息。


 


3、为了抓完整的包,先将协调器上电,然后再将路由器上电,抓完整组网包如下:


 


从头开始看,


1)首先协调器建立好网络,并且以15S的间隔广播自己的网络连接状态NWK Link Status


2)路由器连续发了3个Beacon request,协调器分别回应了3次,


3)然后路由器将自己的MAC地址信息加入,发送了Association request,即请求连接,协调器回复一个ACK信号


4)路由器将自己的MAC地址信息加入(0x00124B000AF859CD),发送了Data request,协调器再回复一个ACK信号


5)协调器根据Data request,给路由分配一个short addr(0x4D13)发送给路由器(0x0000)。路由器收到后给予一个ACK回应


6)接着路由器和协调器分别广播一个APS CLUSTER ID = 0x0013的数据信息


7)组网已经全部完成,这时候路由器和协调器分别会以15秒的间隔不断的广播自己的网路状态,


8) 此时,用户可以发送自己的数据,我这里发送数据是截图的最后一帧(上面截图没有截完全,下面是上面最后一帧截图的补充),可以观看,MAC payload即MAC层接收到的数据,


    它左右的信息是物理层PHY头部解析后的表现形式,MAC payload又解析成了NWK头部和NWK payload(MAC payload黄色区域右边),同样NWK payload又分解成了


    APS头部和APS payload(NWK payload黄色区域右边),观察这些数据,发现不正是我们在用户程序里面自己定义的端点号,簇ID,和数据内容吗,这些数据我们将在自己的程序中解析并且处理


    我这里的端点号是0x0B,簇ID是0x0002,prifile ID 是0x0F05,数据内容是EA EB 4D 13 D9 5B
F8 0A 00 4B 12 00(EA EB是头部,4D 13是路由器的短地址,D9 5B F8 0A 00 4B 12
00是路由器的长地址;仅测试使用,所以数据格式叫简单,没有数据长度,数据校验等信息)


 


9)以上过程就完成了路由器,协调器组网,并且数据传送的整个过程。

转载


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)