0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用低成本的硬件来实现Mesh数据的捉包与解密?

冬至子 来源:红旭无线技术 作者:Wireless Tech 2023-07-18 11:28 次阅读

小编之前经常对群里的网友说 “几十块钱的捉包都可以捉Mesh数据包的话,那Ellisys和Frontline不就倒闭了吗?” 后来发现小编还是太 “草率” 了;

随着科技的不断发展,目前是可以使用低成本的硬件来实现Mesh数据的捉包与解密的,那么到底是怎么做的呢?Here we go!

前期准备

首先,我们需要如下几个工具:

  • 红旭无线的52840 Dongle*
  • 大名鼎鼎的协议分析软件Wireshark

安装最新的版本即可

注意: 安装时需要将pip也安装上

  • nRF Sniffer for Bluetooth LE

下载最新的版本即可

  • nRF Connect for Desktop( 非必须 )

下载最新的版本即可(非必须,我们出厂时候,已经使用该软件烧写好抓包固件了。如果需要Dongle可以留言客服修改固件)

软件配置

因为我们最终是调用Wireshark对抓取到的数据包进行协议分析,所以我们此时还需要对上述下载的

nRF Sniffer for Bluetooth LE进行配置,操作如下所示:

  1. Sniffer_Software/extcap/ 文件夹中打开CMD并安装相应的依赖包,以下是小编的路径:

F:BluetoothNordicSniffernrf_sniffer_for_bluetooth_le_3.1.0_7cc811fextcap

以及命令

pip3 install -r requirements.txt

图片

因为小编已经安装过了,所以提示说已经安装完成;如果是第一次安装的话就会自动下载相应的依赖包;

  1. 复制Nordic的捉包工具到Wireshark的文件中:
    1. 打开Wireshark软件,并选择 **Help ** --> About Wireshark

图片

  1. 选择 “Floders ,并双击Global Extcap path就会跳到相对应的路径,并复制 Sniffer_Software/extcap/ 文件夹中的内容:

图片

  1. 基本上,这个时候软件的配置已经完成了;此时我们在复制后的这个目录下,可以用如下命令进行验证是否配置成功:

nrf_sniffer_ble.bat --extcap-interfaces

采用上述在本目录下打开CMD的方法,输入上述的指令,如果出现下述的界面则说明配置成功:

图片

抓包原理

可能有读者此时有点不耐烦了,但是在开始抓包之前,小编觉得还是很有必要跟大家讲讲这个抓包原理到底是怎么样的;废话不多说,老规矩---上图!!!

图片

从上图可知,如果仅仅是抓取广播包的话,那么就省事多了,直接对着37,38,39三个广播信道扫描,然后对抓取到的数据进行解析即可;当然如果是扩展广播包的话,可能会比较麻烦些,但是这个小编以后会专门开个章节进行讲解;众所周知,BLE连接上之后每个连接间隔都是会跳频的,那么这个时候抓包器又是怎么抓的呢?BLE 5.0之前,跳频的步长是固定的,但是5.0之后跳频的步长则变成随机了,这样对抓包器的要求就更高了;但是,再复杂也是通过数学公式计算出来的,现在后悔没有把数学学好吧?

由于5.0之后的跳频算法比较复杂,小编这里不表,感兴趣的读者可以自行阅读Spec;但是,像小编这样的学渣来说,有没有办法通过输入某些值,即可算出跳频的列表呢? 答案:当然是有的 ,这个时候就不得不祭出一个神器了,先让大伙看看效果:

图片

红色高亮是计算出来的跳频列表,而下图是实际抓包时的数据通道列表:

图片

从上述的两幅图,我们可以看到第0~4个连接事件的跳频信道跟抓包得到的数据信道是完全一样的;其中CONNECT_IND的消息携带有 Access Address ,我们利用神器只要将Access Address值的内容输入进去即可计算出整个跳频列表;同理,抓包器就利用这个CONNECT_IND的消息,计算出下一个信道在哪里,从而实现抓包的目的,这也是为什么在抓取数据包时,一定要在广播前就打开Sniffer,否则抓取不到数据包;

开始抓包

接下来,小编正式讲解开始本篇文章的重点,也是大家最喜欢的环节,那么怎么使用红旭无线的52840 Dongle进行抓取Mesh数据包并解密呢?

  1. 首先,打开Wireshark选择红旭无线的52840 Dongle,如下图所示:

图片

  1. 双击上图中的 “nRF Sniffer for Bluetooth LE COM22” ,即可开始抓包
  2. 由于我们周边会大量存在其他我们不想要的BLE数据包,那么这个时候就需要过滤一下,这里小编过滤了普通的BLE数据包,只保留了Mesh相关的数据包以及用于测试那个设备,过滤的命令如下:

((pbadv) || (provisioning)||(btmesh)||(beacon) ) && ((btle.advertising_address == eb:7b:7a:14:1c:02)||(btle.advertising_address == d3:31:5a:db:35:91))

图片

  1. 其中一个 HX-DK-夏 Z1A00下载Nordic官方的Light_Switch固件,另外一个 HX-DK-夏 Z1A00下载Nordic官方的Provisioner固件
  2. 按下Provisioner那个开发板的 Button 1 ,此时Provisioner这个开发板就开始对未入网的设备进行配网
  3. 这个时候红旭无线的52840 Dongle就会将整个入网过程抓取,并显示在Wireshark界面上;然而,我们大家都知道,Mesh入网之后所有的数据都是通过加密的,那么如果解密呢?这个其实跟Ellisys是一样的,只要输入Netkey,Appkey,DevKey以及IV Index即可;随便选中一个加密后的Mesh数据包,将前面提到的内容填充进去,具体操作如下:

图片

按照上图中的步骤填充Netkey,Appkey,DevKey以及IV Index,这里以小编的为例:

图片

图片

需要注意的是: 所有的Key都要在前面加上“0x”,其中SRC Address指的是节点元素的首地址 ;至此,Wireshark就可以解析所有Mesh加密之后的内容了;

注意: 为了提高抓取GATT-Bear的数据包概率,应该指定抓取某个设备,经过小编实测之后,基本上可以抓取到GATT-Bear的交互数据包;具体的配置如下:

图片

其中Device就是要你指定的被抓取的设备,同时如果发现红旭无线的52840 Dongle的红色LED此时高亮,就说明已经抓取到连接的数据包了;

实验结果

下面是小编用红旭无线的52840 Dongle抓取到的Mesh入网以及配置的整个过程:

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led灯
    +关注

    关注

    22

    文章

    1554

    浏览量

    107034
  • Mesh网络
    +关注

    关注

    0

    文章

    41

    浏览量

    14022
  • SRC
    SRC
    +关注

    关注

    0

    文章

    60

    浏览量

    17801
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83476
  • nrf52840
    +关注

    关注

    1

    文章

    98

    浏览量

    8248
收藏 人收藏

    评论

    相关推荐

    蓝牙mesh网络在数据包的应用

    独特的概念,但其主要资产在于数据包,这也是它的一个差异化因素。它非常紧凑,这种紧凑性有助于确保蓝牙mesh网络的频谱效率和吞吐量。
    发表于 07-18 08:06

    解密蓝牙mesh系列 | 第七篇

    :广播承载层 (advertising bearer)和GATT承载层 (GATT bearer)。蓝牙mesh网络设备默认使用的是广播承载层,它负责在低功耗蓝牙广播数据包内收发蓝牙mesh
    发表于 07-25 08:36

    低成本先锋开发工具使用有限制吗?

    你好,我找不到合适的地方张贴,所以我在这里张贴。如果在第三方商业产品中使用低成本先锋开发工具,请允许我知道是否有许可限制。
    发表于 11-01 13:52

    低成本无线射频芯片A7105

    4pin(SPI)或3pin接口来访问FIFO中的数据,指令和寄存器设置◆ 处理硬件包括序言,同步字,纠错,CRC数据加密和曼彻斯特编码◆ 独立的64字节FIFO(RX和TX)◆ 支
    发表于 06-27 14:07

    如何利用FPGA的硬件描述语言实现AES的加解密算法?

    为了系统的扩展性和构建良好的人机交互,如何利用FPGA的硬件描述语言实现AES的加解密算法?
    发表于 04-08 06:01

    数据包解密必须要配置哪些

    1、数据包解密必须要配置 Netkey,Appkey,Devkey, IV Index的,可以找一下配置接口。2、广播需要 37,38, 39 三通道同时抓才行,一般使用的是专门的仪器。
    发表于 07-22 08:04

    CH582M使用MESH,使能Proxy Feature功能,想动态关闭,可以实现吗?

    CH582M使用MESH,使能Proxy Feature功能,想动态关闭,可以实现吗?主要是想关闭 proxy 的 beacon ,以降低功耗。
    发表于 09-21 06:42

    如何低成本实现大棚自动打药

    作为技术小白,但是我们非常希望有低成本的农业解决方案。是通过什么软件的学习,我们能够一步步实现初级的农业自动化
    发表于 10-20 11:27

    使用STM32F10xxx实现低成本现实的应用方案

    本文档适用于STM32F1系列微控制器。文档描述了在没有片内LCD驱动硬件的情况下,使用STM32F10xxx微控制器驱动LCD的技术。此技术提供了使用STM32F10xxx实现低成本现实的应用方案,可通过固件控制LCD对比度。
    发表于 12-01 06:26

    蓝牙Mesh技术—边缘网络的成长

    、控制在传输层中的数据加密、解密过程。对于传输层送达的数据,接入层能够对其中的网络、应用信息进行验证。   基础模型层(foundation models Layer):实现应用层模型
    发表于 05-17 15:39

    基于FPGA的低成本AES IP核的设计与实现

    硬件实现数据加密已成为信息安全的主流方向。本文提出了一种基于FPGA 的低成本的AES IP核的实现方案。该方案轮内部系统资源共用,减少了
    发表于 01-06 15:11 10次下载

    一种基于MMS的低成本汽车安防系统设计与实现

    利用多媒体信息服务覆盖广泛、承载多媒体数据、费用低廉,以及短消息服务操作简单的特点,提出了一种基于MMS 的低成本汽车安防系统。以低成本的ARM7 处理器作为硬件平台,在uC
    发表于 01-20 13:37 12次下载

    如何低成本实现AES密码算法的硬件

    Rijndael算法为高级加密标准AES。AES密码算法的加密速度快,安全级别高,已经成为加密各种形式的电子数据的实际标准。目前,针对AES密码算法的加密技术已成为研究热点。论文提出了一种低成本的AES密码算法的硬件
    发表于 03-19 17:16 6次下载
    如何<b class='flag-5'>低成本</b><b class='flag-5'>实现</b>AES密码算法的<b class='flag-5'>硬件</b>

    泰凌微电子自研蓝牙Mesh解密分析工具操作说明

    在调试开发蓝牙Mesh产品时,除了打开设备端的Log外,有时还需要用到抓包工具分析空中的Mesh消息格式和交互流程是否正确。目前市面上的抓包仪器价格较贵,在缺少专业的抓包工具时,可通过泰凌自研的蓝牙Mesh
    的头像 发表于 05-17 10:43 1729次阅读
    泰凌微电子自研蓝牙<b class='flag-5'>Mesh</b><b class='flag-5'>解密</b>分析工具操作说明

    低成本实现MCU非接触式数据交互

    近年来,电子技术、无线通信技术的蓬勃发展,出现了各种非接触式无线数据传输标准。技术的不断推进升级,使得人们对这些标准提出了更加严格的要求,一种低成本实现非接触式无线数据传输的技术也由此
    的头像 发表于 08-04 14:26 954次阅读
    <b class='flag-5'>低成本</b><b class='flag-5'>实现</b>MCU非接触式<b class='flag-5'>数据</b>交互