文档章节

Zigbee抓包分析——介绍

临峰不畏
 临峰不畏
发布于 2016/11/19 17:36
字数 774
阅读 1232
收藏 46

#背景 博主从事的是智能家居领域的网关研发工作。
由于我们的网络是Zigbee,所以博主不得不学会抓包。
会抓包,这个很重要。做我们这行不会抓包,就等同于电子工程师不会示波器、程序员不会GDB。

#正题

抓包器介绍

我司用的抓包软件是Ubiqua,是花了重金买的。主界面如下: 抓包器主界面

添加抓包器

首先,插上我们的抓包器,博主为 NXP 的 JN5168,用 FTDI 串口转USB 的 Dangle。
点击菜单栏:Device -> Add Device ... ,弹出设备添加框:
选 “NXP”,然后选重 "NXP FTDI Device",再点 “Add Device”,如下:
输入图片说明

设置信道

设备信道
然后点击设备上的开关按钮即可。
开启

正常情况下,主界面就会出现大量的数据显示:
数据包
其中如下显示的,表示未解密包:
未解密包
需要遇到 Transport Key 包方可解密。最简单的方法就是入一个设备进网络。

常用工具

在抓包器中一有些常用的工具:
工具

  1. 保存当前数据
  2. 滚动显示
  3. 单包分解窗显示最新包
  4. 清空所有
  5. 当前过滤器
  6. 启用与关闭过滤器
  7. 新建过滤器
  8. 编辑当前过滤器
  9. 删除过滤器

过滤器

过滤器是必要的,不然人眼受不了。

新建过滤器

点击(7)所示的按钮,弹出如下框:
新建过滤
如果是Zigbee新手,用起来都比较麻烦。还有另一种简单的方法。
比如博主要抓 PANID=5FCC的包,即同一个网络的数据包。 先选中一个数据包样本。然后:
添加过滤

Zigbee包结构

ZCL包

如下为ZCL包,开关的属性报告:
ZCL包
Zigbee的协议很多与我们以太网络很像:

  • MAC
  • NWK
  • APS
  • ZCL

不详讲,只想提一下几点:

  • PANID 在 MAC 层里
  • MAC层与NWK层都有Source Address 与 Destination Address,MAC层的是当前包的源地址与目标地址,而NWK的是指真正的源地址到目标地址。类似以太网的IP层与MAC层的关系
  • Frame Information中有包的信息,包括信号强度
  • Cluster id 是在 APS 层

##常见的数据包介绍 如下数据包:

  • Management Permit Joining Request 开启与关闭组网
  • Beacon Request 请求信标
  • Beacon 信标
  • Acknowledgement (MAC) 点对点确认包
  • Acknowledgement (NWK) 目标到源确认包
  • Association Request 请求关联
  • Association Response 关联回复
  • Transport Key 传输密钥
  • Device Announce 设备通告
  • Active Endpoints Request 请求端点个数
  • Active Endpoints Response 回复端点个数
  • Simple Descriptor Request 请求端点简单描述
  • Simple Descriptor Response 回复端点简单描述
  • Data Request 终端结点向父结点获取数据
  • Bind Request 请求绑定
  • Bind Response 回复绑定
  • Configure Reporting 配置属性报告
  • Configure Reporting Response 配置属性报告回复
  • Read Attributes 读属性
  • Read Attributes Response 读属性回复
  • Write Attributes 写属性
  • Write Attributes Response 写属性回复
  • Report Attributes 属性报告

结语

本文就到介绍到这里,博主以后再一一介绍设备入网与控制的流程分析。

© 著作权归作者所有

共有 人打赏支持
临峰不畏
粉丝 213
博文 187
码字总数 98583
作品 0
深圳
架构师
加载中

评论(9)

Ankie
Ankie

引用来自“临峰不畏”的评论

引用来自“Ankie”的评论

您好,想请教一下,我使用的是cc2531抓的包,但是包都是未解密的,设备是成品,是可以按照您上面的提示,找到Transport Key 包,让新设备入网么?我尝试了下让新设备入网,没找到这个包啊,多有打扰啦!

是的,只有设备入网时才能抓到密钥
已经做了几次尝试,已经抓到这个关于传输密钥的包了,谢谢哈
临峰不畏
临峰不畏

引用来自“Ankie”的评论

您好,想请教一下,我使用的是cc2531抓的包,但是包都是未解密的,设备是成品,是可以按照您上面的提示,找到Transport Key 包,让新设备入网么?我尝试了下让新设备入网,没找到这个包啊,多有打扰啦!

是的,只有设备入网时才能抓到密钥
Ankie
Ankie
您好,想请教一下,我使用的是cc2531抓的包,但是包都是未解密的,设备是成品,是可以按照您上面的提示,找到Transport Key 包,让新设备入网么?我尝试了下让新设备入网,没找到这个包啊,多有打扰啦!
临峰不畏
临峰不畏

引用来自“FX-XXX”的评论

请问硬件用到了什么,我现在想用usrp可以实现吗?

这个不清楚,我们是自已做的协调器
xiaolongba
xiaolongba
的确是贵得一逼,找遍整个网络,都没有发现有2.0破解版的,其中找到的一个还是不肯公开的:disappointed_relieved:
FX-XXX
FX-XXX
请问硬件用到了什么,我现在想用usrp可以实现吗?
ixiaohei
ixiaohei

引用来自“临峰不畏”的评论

引用来自“ixiaohei”的评论

查了一下个这个软件65刀一个月,说贵也不贵,说便宜也不便宜,一个抓包软件卖这么贵真可以。。。。

是很贵的哦~
没有我司买hp的代码扫描的贵,一个月10w
临峰不畏
临峰不畏

引用来自“ixiaohei”的评论

查了一下个这个软件65刀一个月,说贵也不贵,说便宜也不便宜,一个抓包软件卖这么贵真可以。。。。

是很贵的哦~
ixiaohei
ixiaohei
查了一下个这个软件65刀一个月,说贵也不贵,说便宜也不便宜,一个抓包软件卖这么贵真可以。。。。
[ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)

说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c...

史迪奇2号
01/10
0
0
[ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)

1、Zigbee协议栈简介   协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通...

史迪奇2号
01/01
0
0
基于Web方式的数据包捕获实践

基于Web方式的数据包捕获实践 抓包是运维的必备技能,很多网络故障需要靠抓包来解决,如常见的ARP欺骗和广播风暴。另外还有一些网线或光纤接触不好的故障,不抓包也很难分析出来,例如两个公司...

李晨光
2016/03/22
0
0
Zigbee通讯之开发篇(基于TI 的Z-Stack)

1.Zigbee协议和Z-Stack Zigbee协议和Z-Stack是什么关系?这可能是初学Zigbee同学想知道的问题。给大家举个例子吧,我们生活中使用的插排是要符合一定的标准的,现在国家标准是GB2099.3-2008...

zhanglianpin
2015/07/14
0
0
基于Web方式的数据包捕获实践

基于Web方式的数据包捕获实践 实验环境:下文基于 OSSIM 4.15.2 平台得出实验结论。 抓包是运维的必备技能,很多网络故障需要靠抓包来解决,如常见的ARP欺骗和广播风暴。另外还有一些网线或光...

OSSIM
2016/03/22
854
0

没有更多内容

加载失败,请刷新页面

加载更多

一切都靠大数据:滴滴已封禁4.3万人员、车辆

这段时间以来,滴滴出行相继出炉了各种整改措施,包括自身安全建设和外部社会共建,昨日就刚刚宣布正在筹备建立安全监督顾问委员会。 据媒体最新报道,9月30日,上海市交通委员会执法总队、上...

linuxCool
41分钟前
4
0
awk命令用法介绍

10月18日任务 9.6/9.7 awk 1.awk(上)(下) 1.awk 分段操作功能 指定分隔符,并把第一段打印出来,不会改动文件内容 将所有内容打印出来 awk 没有指定分隔符号,则会默认用空格或者空白字符...

hhpuppy
今天
4
0
Spring Cloud Eureka Server高可用之:在线扩容

本文共 1591字,阅读大约需要 6分钟 ! 概述 业务微服务化以后,我们要求服务高可用,于是我们可以部署多个相同的服务实例,并引入负载均衡机制。而微服务注册中心作为微服务化系统的重要单元...

CodeSheep
今天
2
0
内网esxi主机上安装CoreOS虚拟机

CoreOS是一个为专门运行容器而设计的轻量级linux发行版,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度。它没有包管理工具,运行容器化应用以提供服务;默...

hiwill
今天
2
0
20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部