此文只介绍环境的搭建,具体怎么使用wireshark和sniffer抓取数据,请参阅《Wireshark配合nRF Sniffer使用技巧.docx》一文。
监听架构:
- 1. 需要硬件
要想实现抓包,至少要有一个nordic的开发板,将它刷入特定的sniffer固件,制作成一个sniffer才行,我们可以使用如下的板子:
nRF51 Development Kit (PCA10028) v1.0 or later and a micro USB cable(nrf51422)
nRF51 Dongle (PCA10031)(nrf51422)
nRF51822 Evaluation Kit (PCA10001) and a mini USB cable
nRF51422 Evaluation Kit (PCA10003) v3.0.0 or later and a mini USB cable
nRF51822 Development Kit dongle (PCA10000)
nRF52 Development Kit (PCA10040) and a micro USB cable(nrf52832)
nRF52840 Development Kit (PCA10056) and a micro USB cable
你会发现nrf51822、nrf51422、nrf52832和nrf52840等蓝牙芯片均可以制作成sniffer嗅探器,但是他们均需要刷入不同的固件程序,并且nrf51822和nrf51422硬件最多支持到蓝牙4.2的版本,而nrf52832和nrf52840可以支持到蓝牙5.0版本。
- 2. Windows版本需要软件
(1) nrf_sniffer_for_bluetooth_le_4.x or later ,包含了jlink驱动等,下载网址:nRF Sniffer for Bluetooth LE - Downloads - nordicsemi.com
下载图示:
(2)Wireshark-win64-3.6.0 or later.下载: Wireshark · Go Deep. 下载图示:
(3)python v3.10.x Python Release Python 3.10.0 | Python.org
注意:这个不能用最新的python版本,否则可能无法使用。下载图示:
(4) pyserial v3.4 or later
pyserial一般不用下载,安装python后用命令即可安装此插件,后续会介绍。
命令行输入: pip3 install pyserial
(5)之后安装好Wireshark-win64-3.6.0
文件介绍:
nrf_sniffer_for_bluetooth_le_4.1.0.zip解压后如下图所示:
- 3.软件安装与配置
注意:安装步骤不要变,否则可能安装失败。
(1)安装wireshark:
双击Wireshark-win64-3.6.0.exe进行安装,一路next,选中下图(是3.0.1的)桌面创建快捷方式:
如下图,选中USBPcap并进行安装:
剩下就是一路允许和接受,直到安装完毕,然后重启计算机。
(2)配置Wireshark环境:
打开Wireshark->Help->AboutWireshark->Folders->双击打开个人Extcap路径,如下所示:
解压nrf_sniffer_for_bluetooth_le_4.1.0.zip文件,将里面的extcap文件夹里的四个文件复制到刚刚打开的这个Wireshark的extcap路径下,如图所示为复制完毕的效果图:
然后双击wireshark里的个人配置的网址,如下图所示:
在弹出的文件夹下打开profiles文件夹,然后将解压的nrf_sniffer_for_bluetooth_le_4.1.0.zip文件中的Profile_nRF_Sniffer_Bluetooth_LE文件夹拷贝到profiles文件夹中,如下图为拷贝完毕的效果图:
验证插件安装是否成功(nrf_sniffer_ble是wireshark的插件)
如下目录打开命令行输入 nrf_sniffer_ble.bat --extcap-interfaces
看到如下返回提示 表示安装插件成功。
(3)安装python3.10.0:参考下面2.7.16的方式
双击python-2.7.16.amd64.msi进行安装,一路next,直到如下界面:
此处需要选择该项,即添加环境变量,然后一路next即可,直到安装完毕。
(4)安装pyserial v3.4:
命令行输入: pip3 install pyserial (如果遇到更新提示可以线更新一次)
(5) 安装JLink_Windows_V752d_x86_64.exe
- 4.将开发板烧录制作成sniffer蓝牙嗅探器:
不同的开发板需要烧录不同的hex文件才能成为sniffer,hex文件放在nrf_sniffer_for_bluetooth_le_4.1.0.zip解压缩后的hex文件夹中,如下图所示:
我们以图中pca10056为例进行说明,即52840的板子,该板子可支持蓝牙5.0的抓包。
我们要将sniffer_pca10056_1c2a221.hex下载到pca10056的板子上。这里可以采用多种方式,例如使用jlink命令下载,也可以用nordic的nrfjprog动态库命令下载,也可以通过nrfgo studio界面化工具下载,最简单J-Flash Lite下载,但无论采用哪种方式,都要先擦除芯片,再烧录程序。
首先,我们以J-Flash Lite.exe为例进行说明:
- 用USB数据线将PCA10056开发板和电脑连接;
- 打开J-Flash Lite V7.52b;
- 5.验证sniffer是否安装成功:
上述准备完毕,再打开wireshark,则会出现nRF Sniffer字样的东西,如下图所示,则说明安装成功了,后面就可以使用此环境进行抓包了。
完成