文档章节

Zigbee抓包分析——介绍

临峰不畏
 临峰不畏
发布于 2016/11/19 17:36
字数 774
阅读 1313
收藏 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 属性报告

结语

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

© 著作权归作者所有

共有 人打赏支持
临峰不畏
粉丝 214
博文 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破解版的,其中找到的一个还是不肯公开的😥
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
基于Web方式的数据包捕获实践

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

OSSIM
2016/03/22
854
0
白帽黑客如何以上帝视角操纵高楼酒店?

还记得当年红极一时的黑客操控大厦电力玩起坦克大战的视频吗?(就是这个)视频真实性抛开不论,带给围观群众的震撼效果绝对是十级。 雷锋网今天带来的是另一组大片。 视频中的神操作者是来自...

又田
04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

基于redis的分布式锁

redisson提供了基于redis的分布式锁实现方式,本文就尝试了下锁的使用方式。Redisson同时还为分布式锁提供了异步执行的相关方法,第二节执行介绍。 一、可重入锁验证 同一个jvm里面同一线程的...

noob_chr
13分钟前
3
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linux-tao
16分钟前
1
0
设计模式“6”大原则!

面向对象设计原则 概述 对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要...

Java干货分享
32分钟前
7
0
mybatis学习(1)

JDBC连接方式: 1.底层没有使用连接池,操作数据库需要频繁的创建和关闭连接,消耗资源。 2.写原生的JDBC代码在JAVA中,一旦需要修改SQL的话(比如表增加字段),JAVA需要整体重新编译,不利...

杨健-YJ
今天
5
0
怎么组织文档

可以从以下几个方面考虑组织文档: ☐ 各种分支的界面截图和对应的类及文件 ☐ 框架或类图 ☐ 流程图 ☐ 时序图 ☐ 注意事项

-___-
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部