使用nRF52832开发板用作dongle抓取蓝牙数据包

nRF52832 DK 是Nordic(北欧半导体)的52832的官方开发板,


图一 nRF52832 DK

这个板子除了它的本职工作--跑nRF52832的例程、调试代码之外,其实它还有一个特殊功能:作为一个蓝牙嗅探器(ble sniffer)抓取蓝牙数据包,以供蓝牙协议分析。关于蓝牙抓包的权威指南是Nordic官网的这个地址:https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Sniffer-for-Bluetooth-LE

Nordic的多个开发板(DK)和dongle都可以用来抓包的:


图二

使用 nRF52832 DK抓包需要的工作步骤如下:

1、获取相关软件包:nRF52832 DK抓包工具软件包(固件、有关插件、文档说明)、Wireshark,安装必要的Python软件包。

2、对 nRF52832 DK烧写固件。

3、安装 Wireshark。

4、安装 pyserial 3.4 以上版本。

5、配置 Wireshark插件、以支持由 nRF52832 DK 串口数据进行蓝牙协议分析。

下面详述每一个步骤:

1、获取相关软件包

【nRF52832 DK抓包工具软件包】下载地址:https://download.csdn.net/download/code_1234/16014920,文件名称:nrf_sniffer_for_bluetooth_le_3.1.0_7cc811f.rar(或 nrf_sniffer_for_bluetooth_le_3.1.0_7cc811f .zip)。

【Wireshark-win64-3.2.11.exe】下载地址:https://www.wireshark.org/download.html

(这是64-bit版本,根据自己PC具体情况选择下载;对Wireshark版本没有特殊要求、比较新的都可以)

2、烧写 nRF52832 DK固件

解压缩 nrf_sniffer_for_bluetooth_le_3.1.0_7cc811f.rar 到任意目录,其中 hex 子目录下有一个文件:sniffer_nrf52dk_nrf52832_7cc811f.hex,这是要烧写的固件文件。


图三

首先连接 nRF52832开发板到PC,然后打开nRF52832烧写工具:


图四

将上述hex固件文件拖到Programmer中:


图五

烧写固件:

图六

烧写成功后,板子上LED1是快速闪烁的状态:


图七

退出Programmer软件(释放占用的串口,因为后面Wireshark的插件也要用这个串口):


图八

安装Wireshark:


图九


图十


图十一


图十二


图十三

需要安装Npcap插件:

图十四

USBPcap是USB数据抓包插件,可装可不装,这里选择不安装:

图十五

开始安装过程:

图十六

自动跳出安装Npcap的界面:

图十七

Npcap的选项,可按如下勾选:

图十八


图十九


图二十


图二十一

Wireshark继续安装:

图二十二



图二十三

安装完毕:

图二十四

下面配置 Wireshark插件,先查找 Wireshark插件的目录位置。启动Wireshark:

图二十五

在弹出的窗口中,点击 文件夹 选项卡,再双击 Global Extcap path 后面的路径:

图二十六

将nrf_sniffer_for_bluetooth_le_3.1.0_7cc811f.rar解压缩出来的extcap目录下的所有文件和目录:

图二十七

copy到图二十六中打开的Wireshark插件目录中:


图二十八

4、安装 pyserial 

首先需要确认PC中已经安装了Python,然后在cmd终端窗口或PowerShell窗口中输入命令:

pip install pyserial>=3.4

即可安装pyserial。Wireshark调用蓝牙sniffer插件,sniffer插件又调用了Python的serial包,所以需要pyserial包的支持。

至此,所有准备工作都完成了,再次启动Wireshark,可以看到出现了nRF Sniffer插件(COM口因个人PC会不同):


图二十九

在Wireshark的 视图(View)菜单中,可以勾选 接口工具栏-->nRF Sniffer for Bluetooth LE 来控制是否显示Sniffer出现在Wireshark界面上(不影响蓝牙抓包功能的正常使用):

图三十

蓝牙抓包实例:

图三十一

工具包中还有一个Wireshark的”配置“文件目录:

图三十二

copy到Wireshark对应目录中:

图三十三

貌似抓包数据的颜色有些变化(不影响抓包效果):

图三十四

(完)

你可能感兴趣的:(使用nRF52832开发板用作dongle抓取蓝牙数据包)