使用nrf sniffer抓包笔记

说明

​ 在做BLE开发时候难免会遇到要抓空中包分析问题的情况,这种时候一般要使用抓包器来进行分析。目前来说抓包器比较专业的如Ellisys那种,一台要几十万人民币,用过几次确实牛逼,但是太贵重了。而便宜点的就是用各家平台Dongle做的抓包器,廉价也够用了。早年比较流行的是TI CC2540的方案,现在最流行的应该是Nordic的52840方案。

硬件准备

​ 硬件这里的话我们可以去购买一个52840/52833的dongle作为抓包器硬件。Nordic原厂几十块一个,国内生产的十几块一个。这里我都买了,实测下来两者性能没什么区别,毕竟都是用的通用的物料。

​ 这里用胶带纸包住,避免用手触摸时静电打坏了。左边的是国产的,用的是常规的USB公头。右边的是原厂的,USB是用PCB版做了,真是省物料卖的还贵。

软件准备

软件这里的话需要按照Nordic的指导文档进行安装下载:Installing nRF Sniffer command (nordicsemi.com)

  1. 下载并安装nRF Util,该工具是个命令行工具,需要使用cmd终端进行使用。使用该工具安装sniffer命令和device命令。注意命令安装过程需要联网,而且由于安装包源在国外,最好打开梯子保证能连上。如果是在装不上命令也没关系,不用nRF Util后面也一样可以安装。

  2. 下载sniffer的固件:nRF Sniffer for Bluetooth LE - Downloads - nordicsemi.com,目前最新版本应该是4.1.1

  3. 使用nRF Util 的Device命令给Dongle烧录固件,原厂的52840 dongle都是支持USB烧录功能,不需要什么专门的烧录器。如果nRF Util显示无法连接的话可以使用dongle上的复位按键复位下板子,然后重新连接即可。

这里的固件烧录也可以nrf connect deskop来进行,过程都是类似的

  1. 安装wireshark:Wireshark · Download,该软件为实际抓包上位机,开源且免费,选择一个稳定版本进行下载安装即可
  2. 为wireshark安装sniffer插件,这里可以使用前面nrf util进行安装,也可以自己手动从下载的固件包里手动配置

​ 如此需要安装的软件便齐全了,注意这里只是做概要说明,具体安装过程指导还需要看开头的Nordic原厂指导文档

使用方法

配置wireshark

安装好后打开wireshark界面,刷新接口应可以直接看到插好的sniffer dongle

点击小齿轮可以配置抓包选项,常规配置抓取选项即可,随后双击端口进入抓包界面

​ 进入抓包界面后可以看到抓包信息,但是先别急,我们打开视图中的接口工具栏,把接口工具栏中的nRF Sniffer选中打开,打开后便能看的这个工具栏的出现

基本的抓取广播包

​ 如果要抓取某一个设备的空中包数据,可以在工具栏中选择设备进行过滤

如果出现不了设备列表,请确认是不是Dongle固件和Wireshark插件版本不匹配,如果是需要重新刷对应固件

设置过滤器

如果要把某一项内容进行过滤器进行筛选,可以按上面的界面选择某项变量,选择为过滤器条件

如何抓取连接包

​ 抓取连接包需要现在工具栏中选择好需要跟着设备,随后直接发起连接即可,抓包器会自动跟踪设备进入连接包信道进行抓取。

如果发现连接后,抓包器并没有输出连接包信息,那有可能是抓包器丢失跟踪了,把设备断连,重新连接即可,让抓包器重新进行跟踪

posted on 2024-05-25 11:13  不回本不改名  阅读(564)  评论(0编辑  收藏  举报

导航