使用Packet Sniffer分析Z-Stack协议数据

Packet Sniffer 是一款专门的协议分析软件,可以对PHY、MAC、NETWORK/SECURITY、APPLICATION FRAMEWORK和APPLICATION PROFOCES等各层协议上的信息包进行分析和解码;显示出错的包以及接入错误;指示触发包;在接收和注册过程中可连续显示包,可以利用Packet Sniffer分析ZigBee建立网络,加入网络,发送数据,接收数据的过程,需要注意的是,Packet Sniffer 只能起到侦听的作用,即它只能侦听设备发送的数据。

我购买的了三个开发板,只有一个可以做协议分析议,其用法就是在SampleApp例程的基础之上,一个作为协调器,一个作为路由器,另一个做协议的分析议,做分析议的模块要连接PC---仿真器----开发板,然后打开Packet Sniffer软件,在刚打开软件还没有形成网络时会出现下面的分析得到的画面。

1 软件介绍

Packet Sinffer侦听到的数据包将被保存在硬件的缓存中,所能保存的数据包总数与数据包的大小和硬盘空间有关。在操作过程中,数据包暂时存放在RAM中,以减少数据包信息在GUI上显示时间。下面是Packet Snifferr 的数据流。具体怎么使用可以查看自带的数据手册。

这里就以SampleApp的例程来看看,这个分析议是怎么使用的,首先,介绍一下这个例程的主要功能,这个程序有两个模块组成,也就是最简单的那种,其中一个是协议器,一个是路由器,当两个模块都上电后,如果一切正常的话,绿色的灯会点亮,这时按下路由器上的SW1按键就可以从路由器发送一句话“Welcom  to ZigBee!”,这时在按下协调器上的SW1按键就可以发送给路由器发送一条“Thank you!”。当接收到数据时,两个模块的红色灯会闪烁。这就是这个例程经过简单的更改后所具备的功能。

在ZigBee网络中,各个设备都必须在加入网络之后才能完成数据的通信,所以,加入网络是每一个设备的首先要做的。

加入网络如下图所示:

在协议分析仪中显示的数据,第2行到第7行是建立一个网络的过程,在这里可以看出在网络层管理实体一旦选择了一个PAN标识符,就会立刻选择一个0x0000的16位网络地址,并且设置MAC层的macShortAddress PIB 属性,使其等于所选择的网络地址。

第8行中,源地址是路由器的物理地址0x1716151413120030,它的PANID没有确定为0xFFFFF,这时的路由器还没有加入网络,所以还没有网络地址,目的地址为协调器的网络地址0x0000,它的PANID为0x0022;它的命令是联合方式加入请求。所以该行表示的意思是向协调器发送联合方式加入请求,发送完成后将得到一个应答,也就是第9行。

收到应答以后,路由器开始加入网络,在收到应答以后,协调器开始为路由器分配网络地址,从第12行可以看出,路由器分配到的网络地址为0x0001。这样就完成了整个建立、加入网络的过程,并分配了各自的网络地址。

下面是NWK层数据包

网络层数据包中,体现了在网络层中的数据以及格式,。网络层中也体现了源地址和目的地址与APS层基本相同。它们最大的不同是数据中加入了网络层包,附加了网络层数据。

下面是APS层数据包

数据包第1行,路由器的网络地址(0x0001)作为数据源地址发送,目的地址为0xFFFF表示路由器是以广播的形式发送数据。可以看出该数据包反映路由器广播发送数据。在APS层中详细列举了剖面 ID(APSProfile ID)、串ID(APS Cluster ID)、广播深度(Broadcast Radius)等数据。另外发送的数据也在此项显示。在第一行中的APS Payload部分就显示了数据帧头加上路由器发送的广播数据,在这里是以16进制数显示的,在数据包的结尾有RSSI强度值。

我们可以从APSPayload中可以看到从路由器和协调器发出来的数据,这些都是以16进制的形式出现的。在MAC Payload和NWK Payload中可以看到在发送的数据前面,都添加的该层有数据。

下面两个是帧控制域中各个位表示的含义:

下面是全部数据包

路由器按下按键SW1以广播的形式发送一串数据“Welcomto ZigBee!”,数据包中的第1行网络地址为0x0001的设备为源地址,即表示发送数据设备的地址,由于是广播发送,所以在发送完成以后,每一个在网络中的设备都能收到数据。在APS层中有一个参数是路由深度为0x0A,所以在协调器收到数据以后,会以路由的方式转发这个数据,数据包显示在第二行就是转发的数据的数据格式,也就是为什么会有两个一样的数据包出现的原因。在协调器收到数据并转发了数据以后,在路由器上按下SW1按键将发送一个应答数据“Thank you!”.

ZigBee的软件抓包分析相关推荐

  1. hls二次加密 m3u8_HLS实战之Wireshark抓包分析

    0.引言 Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直 ...

  2. Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述

    Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述 网络协议是用于不同计算机之间进行网络通信的.网络协议是网络上所有设备(如网络服务器.计算机.交换机.路由器等)之间通信规则的集合,它 ...

  3. UDP协议抓包分析 -- wireshark

    UDP协议抓包分析 – wireshark UDP是User Datagram Protocol用户数据报协议的简称.他是OSI七层模型中一种无连接的传输层协议,提供面向事务的简单的不可靠信息传送服务 ...

  4. 计算机网络【wireshark抓包分析】

    一个完整的三次握手就是:请求(SYN) - 应答(SYN+ACK) - 再次确认(SYN).完成三次握手,客户端与服务器开始传送数据. 实验流程: 1.首先我们打开wireshark软件的主界面,在主 ...

  5. 第三十三期:使用wireshark抓包分析-抓包实用技巧

    杰哥很忙 7月9日 前言 本文整理一下日常抓包使用的一些方法及抓包分析的一些方法. 本文基于wireshark2.2.6版本进行抓包处理.其他版本使用方式大同小异. 自定义捕获条件 wireshark ...

  6. Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析

    Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...

  7. 抓包红色_抓包三部曲 WebSocket 协议原理抓包分析

    这篇文章通过抓包分析 WebSocket 协议的细节,学习一下 WebSocket 执行流程. 1.WebSocket 流程说明 (1)客户端和服务器之间完成三次握手建立 TCP 连接(TLS/SSL ...

  8. linux抓包库libpcap,linux下libpcap抓包分析.doc

    linux下libpcap抓包分析 HYPERLINK "/Seiyagoo/archive/2012/04/28/2475618.html" linux下libpcap抓包分析 ...

  9. 【MySQL】语句抓包分析工具MySQL sniffer

    背景 总是有些开发和 测试在抱怨MySQL没有SQL Server的高频语句分析功能和 trace功能.其实MySQL是个轻量型的数据库软件,相比臃肿无比的SQL Server,在 搭建效率和软硬件性 ...

最新文章

  1. 侯捷译Practical Java(含源码)
  2. Salesforce中所有常用类型字段的取值与赋值
  3. jquery 与其他库冲突解决方案
  4. nginx反向代理打印日志_nginx启用TCP反向代理日志配置
  5. Android--百度地图之基础地图(三)
  6. java检查危险品程序_危险品检查java程序
  7. python调用arcpy函数_python笔记之ArcPy函数列表
  8. (转)对《javascript 杂谈之哪种写法你更喜欢?》最后一种“匿名函数法”的解释...
  9. centos7下安装nginx及常用命令
  10. Netty 源码深度解析(九) - 编码
  11. 通过编程方式在InfoPath 2010表单的下拉框修改事件中获取数据
  12. 图片上一张与下一张切换
  13. arcgis调整图框线宽
  14. 微软 Office 全家桶被 GPT-4 革新:Word 一键变成 PPT,打工人的春天来了!
  15. 软考中级考试一般需要准备多长时间?
  16. python之列表方法大全
  17. 计算机桌面个性化怎样设置方法,电脑桌面图标怎么个性化自定义设置呢?
  18. html app启动页制作,【示例】App引导页的制作
  19. 一位游戏大厂测试的一些知识分享
  20. 阿狸html浪漫代码,好看可爱的阿狸空间留言代码_阿狸 你的乖巧我学不来

热门文章

  1. AndroidStudio0.5.5发布
  2. 所有的 Boost 库文档的索引
  3. SQL视图View的总结和使用
  4. 深入理解QStateMachine与QEventLoop事件循环的联系与区别
  5. 浅谈中国院落文化,打造中式家居风尚!
  6. NVIDIA CUDA Toolkit 各个版本安装方式
  7. [oeasy]python0088_字节_Byte_存储单位_KB_MB_GB_TB
  8. udp 与 tcp 通信编程
  9. python uniform 函数
  10. 教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置