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

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)以上过程就完成了路由器,协调器组网,并且数据传送的整个过程。

使用Packet Sniffer抓包和分析(z-stack协议)的更多相关文章

  1. 【转】蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法--不错

    原文网址:http://blog.csdn.net/mzy202/article/details/32408223 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet ...

  2. 开源网络抓包与分析框架学习-Packetbeat篇

    开源简介packbeat是一个开源的实时网络抓包与分析框架,内置了很多常见的协议捕获及解析,如HTTP.MySQL.Redis等.在实际使用中,通常和Elasticsearch以及kibana联合使用 ...

  3. 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法 【原创,多图】

    蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法 [原创,多图] spm=a1z10.1.w4004-5319414070.11.Zd ...

  4. [golang] 抓包注入分析

    视频信息 Packet Capture, Analysis, and Injection with Goby John Leonat GopherCon 2016 https://www.youtub ...

  5. 【转】详解使用tcpdump、wireshark对Android应用程序进行抓包并分析

    原文网址:http://blog.csdn.net/gebitan505/article/details/19044857 本文主要介绍如何使用tcpdump和wireshark对Android应用程 ...

  6. charles抓包并分析问题

    1.抓包并分析 某列表页 传入的参数: -------------------------------------------------------------------------------- ...

  7. 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法

    蓝牙4.0的开发, 现在真热火的很, 但是很多朋友买了我们出品的cc2540 usb-dongle后, 都反馈说不知道如何抓包, 并且, 即使很多朋友到TI官网论坛去找信息,不少朋友依然是无功而返,实 ...

  8. golang gopacket网络抓包和分析

    gopacket 是golang语言使用的网络数据抓取和分析的工具包. 本文简单介绍如何使用gopacket进行网络抓包. 下载gopacket # go get git@github.com:goo ...

  9. tcpdump抓包具体分析

    Tcpdump抓包分析过程   一.TCP连接建立(三次握手) 过程 客户端A,服务器B,初始序号seq,确认号ack 初始状态:B处于监听状态,A处于打开状态 A -> B : seq = x ...

随机推荐

  1. mybase 用户教程

    一.安装.卸载 1.安装 在Mac OS X环境下,可通过打开下载的.dmg文件,再把myBase图标拖到应用程序文件夹即可安装.然后通过双击程序图标运行程序 2.卸载 对于Mac OS X,把myB ...

  2. 5 Hbase

    # 大纲: * 认识 HBase * HBase 架构 * HBase读写流程   定义: *  HBase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用Hbase 技术可在廉价PC S ...

  3. Notepad++源码编译及其分析

    Notepad++是一个小巧精悍的编辑器,其使用方法我就不多说了,由于notepad++是使用c++封装的windows句柄以及api来实现的,因此对于其源码的研究有助于学习如何封装自己简单的库(当然 ...

  4. linux 正则表达式使用

    1.正则表达式概念 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 正则表达式的基本元素包括普通字符和元字 ...

  5. 如何基于Azure平台实现MySQL HA(方法论篇)

    我们都知道,相较于传统的数据中心,Pulic cloud也有劣势,比如说数据库的HA,很多熟悉公有云平台的读者都知道,因为出于安全性性考虑以及一些技术条件的限制,很多本地数据中心的mysql HA方法 ...

  6. C#小方法PadLeft 和 PadRight

    1.在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位. PadLeft(int totalWidth, char paddingChar) //在字符串左边用 pad ...

  7. Android下LayoutInflater的使用

    在我们想XML布局文件转换为View对象的时候.我们都会使用LayoutInflate对象.顾名思义咋一眼就能看出来他是布局填充器.那么接下来看看LayoutInfalte的使用 总体分为 Layou ...

  8. Java中关于String类型的10个问题

    1. 如何比较两个字符串?用“=”还是equals 简单来说,“==”是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等.只要你想检测俩字符串是不是相等 ...

  9. nginx配置反向代理解决前后端分离跨域问题

    摘自<AngularJS深度剖析与最佳实践>P132 nginx配置文件如下: server { listen ; server_name your.domain.name; locati ...

  10. sublime text 2 快捷键

    快捷键 功能 ctrl+shift+n 打开新Sublime ctrl+shift+w 关闭Sublime,关闭所有打开文件 ctrl+shift+t 重新打开最近关闭文件 ctrl+n 新建文件 c ...