基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic)

这篇具有很好参考价值的文章主要介绍了基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备

1)nRF52840 Dongle
2)Mesh节点
3)手机作为配网器(苹果手机安装nRF Mesh APP)

说明

1)节点使用的例程目录:nrf5sdkformeshv500src\examples\light_switch\client
2)抓包使用的软件:Wireshark
3)抓包方法:使用Nordic的nRF52840 Dongle配合Wireshark对蓝牙设备抓包(BLE)

配置

先打开Wireshark,这时候能收到节点的未配网设备信标,在Device一栏选择自己的节点,避免抓到无效的数据。
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
在Debug模式下可以通过MCU寄存器看到设备地址,对应例程advertiser.c中的advertiser_address_default_get()函数:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
然后通过set_gap_addr_type()函数修改之后就是实际的设备地址。

nRF Mesh APP的Settings中先使用Forget Network复位Mesh网络,然后在Applications Keys中生成自己需要数量的Appkey。
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
配置手机(既是节点,也是配网器)主元素的通用开关服务器模型订阅和发布地址如下:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
通过手机(配网器)配置使未配网设备成为Mesh节点,配置其第二个元素通用开关客户端模型订阅和发布地址如下:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
配置完成后如下:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
另外说一下,只要不使用Forget Network复位Mesh网络,那么新配置的节点单播地址自动往上增加。这个时候通过按下按键发送Mesh消息,可以在Wireshark中抓到包:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
可以看到网络层PDU因为经过加密和混淆处理,是看不到具体的数据的。
网络层PDU字段定义:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
网络层PDU格式:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
所以在抓到的包里面可以看到网络层PDU由IVI,NID,Obfuscated,Encrypted data和NetMIC组成。

过滤

通过Wireshark抓到的包比较多,输入(pbadv)||(provisioning)||(btmesh)||(beacon)可以对数据进行过滤。
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机

解密

在抓到的Mesh包右键→协议首选项→Bluetooth Mesh→Mesh Keys,然后输入当前使用的NetKey和AppKey。
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
NetKey和AppKey可以通过App的Settings中获取:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
同样也可以输入设备密钥DevKey,SRC Address输入的是设备的单播地址。
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
DevKey和SRC Address可以通过App的Network中选择对应节点获取:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机

分析

经过上面的处理,就可以对Mesh消息进行分析。
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
以上面这条消息为例,可以看到消息的序列号是20,源地址是4,目的地址是1,节点的单播地址是0x0003,所以它第二个元素的单播地址就是0x0004,手机(配网器)的单播地址是0x0001,所以其主元素的单播地址就是0x0001,这样就知道这条Mesh消息的流向。
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
访问层的操作码是0x8202,参数是0009010a。其中操作码为Generic OnOff Set,这个是SIG官方定义的:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
通用开关模型的字段定义:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
那么这条消息的意思就是开关状态设置为关,事务ID为0x09,渐变时间是0x01,延迟是0x0a。

TID:可以在应用层判断消息是否重复,每传输一次消息,TID的值就会增加1。在例程中的按键事件处理函数button_event_handler()中可以看到:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
至于Transition Time和Delay参数,如果Transition Time参数存在,那么Delay参数也应该存在,如果Transition Time参数不存在,那么Delay参数也不应该存在。
渐变时间表示一个设备从一个状态转换为另一个状态的时间,长度1字节,低6位表示渐变时间的具体数值,高2位表示渐变时间的步长,字段定义如下:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
其中渐变时间的具体数值,取值范围0x00至0x3E,定义如下:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
渐变时间的步长定义如下:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
根据抓到的包中值0x01,则步长为100ms,数值为0x01,结果为100ms;而延迟时间默认的步长是5ms,抓到的包中值0x0a,那么延迟时间就是50ms,和例程中定义的一致。
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
由于二进制状态不支持渐变,当转换为0x01 (On)时,转换开始时立即改变Generic OnOff状态,当转换为0x00 (Off)时,渐变时间结束时改变状态。我的理解就是可以通过渐变时间来控制灯延时熄灭,当关灯时,灯状态改变的时间比开灯时状态改变的时间多出来一个渐变时间。
当转换为0x01 (On)时:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机
当转换为0x00 (Off)时:
基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic),Nordic,蓝牙,单片机,wireshark,Mesh,单片机文章来源地址https://www.toymoban.com/news/detail-696087.html

到了这里,关于基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Wireshark的ARP协议分析和IP报文、ICMP报文的分析|网络数据抓包|课程设计|traceroute|ping|

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 https://blog.csdn.net/yu_cblog/category_12379430.html?spm=1001.2014.3001.5482 目录 ​编辑前言 Wireshark软

    2024年02月10日
    浏览(49)
  • 计算机网络——wireshark抓包

    实验步骤 在命令行输入 ifconfig 命令得到如图: 由上图可知,网关地址为 10.22.63.255 ,开启 wireshark 抓包服务,添加过滤规则,同时在命令行输入 ping 10.22.63.255 , ping 网关 过滤搜索得到 ping 同一网段的一台主机 实验结果分析 ping网关数据如图 [外链图片转存失败,源站可能有防盗链机制

    2024年02月05日
    浏览(33)
  • 网络安全工具——Wireshark抓包工具

    Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 网络管理员使用Wireshark 来检测网络问题, 网络安全工程师使用Wireshark来检查资讯安全相关问题

    2024年02月13日
    浏览(38)
  • wireshark网络抓包工具基础使用教程

    目录  简介 WireShark软件安装 Wireshark 开始抓包示例 Wireshark过滤器设置 停止抓包 ​编辑保存数据 界面介绍 基础操作 1. 调整界面大小 2. 设置显示列 1)添加显示列 ​2)隐藏显示列 3)删除显示列 3. 设置时间 ​4. 标记数据包 5. 导出数据包 6. 开启混杂模式 WireShark是非常流行的

    2024年02月16日
    浏览(50)
  • 计算机网络实验五 Wireshark网络抓包实验

    1.使用Wireshark软件对网卡上的数据包进行抓取,分析数据包各字段的含义。 2.掌握数据链路层、网络层、运输层常用数据包的定义 3.掌握相关网络命令 注意:下面实验环境 本机IP:10.1.36.48 网关:10.1.36.1 (1)捕获ARP请求及应答包 要求:分析数据链路层协议中的:源MAC,目的

    2024年02月10日
    浏览(59)
  • 计算机网络 wireshark TCP抓包实验

    1. 你的客户端电脑传送文件到 192.168.1.70 的 IP 地址和端口是什么?从192.168.1.70 接收文件的 IP 地址和端口是什么? 可以看出 传送文件的地址是192.168.8.90 端口是61588 接受文件的地址是192.168.1.70 端口是80 2. 用来初始化客户端电脑和 192.168.1.70 的 TCP 连接的 TCP SYN 报文段的序号

    2024年02月07日
    浏览(46)
  • 用Wireshark抓包分析协议 计算机网络

    此篇博客记录使用Wireshark抓包分析协议。 目录 一、DNS 二、分析TCP握手过程 三、TLS报文 四、HTTP协议 五、SMTP 六、ARP 七、RTP 八、RTMP        DNS是域名系统,Domain Name System的缩写,是基于TCP/IP的一个服务。DNS是将主机名到IP地址转换的目录服务。DNS是:①一个由分层的DNS服务

    2024年02月09日
    浏览(46)
  • 网络安全:WireShark 抓包及常用协议分析

    打开kali终端进入wireshark 进入到wireshark点击选项 勾选选项混杂模式开始抓包 进入终端打开火狐,打开百度进行抓包 这时我们抓到了很多类型的数据包 上方的过滤器可以指定类型数据宝或者指定源地址目标地址等等,例如现在抓取arp协议的数据包 我们ping一个地址 我们可以用

    2023年04月08日
    浏览(55)
  • 计算机网络大作业(Wireshark抓包分析)

    wireshark的深入学习与掌握,如过滤器的使用,归纳方法 通过实验阐述ARP的工作原理 利用实验结果分析 ICMP 协议的报文结构字段定义 基于实验数据深入分析 TCP 协议的连接过程原理,报文的分片等功能 从校园网发起向外网中某 Web 服务器的访问,记录并分析从 MAC 层协议、IP

    2024年02月02日
    浏览(42)
  • 【网络】抓包工具Wireshark下载安装和基本使用教程

    🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包