在做BLE开发中,经常需要抓蓝牙通信包来分析。
专业的蓝牙抓包工具非常昂贵,我们可以使用Nordic的开发板来进行抓包
还可以使用nRF Connect APP
进行简单抓包
1 硬件
Nordic nRF52 开发板 PCA10040
2 软件
- Wireshark v2.4.6 以上 https://www.wireshark.org/
- Python v3.6 以上 https://www.python.org/downloads/
- nRF Sniffer for Bluetooth LE v3.x 以上 Sniffer_Software
3 安装
3.1 更新硬件固件
将Sniffer_Software/hex/sniffer_pca10040_129d2b3.hex
下载到开发板PCA10040中
3.2 配置Wireshark环境
蓝牙嗅探功能是以插件形式安装到Wireshark中.
3.2.1 安装pyserial
cmd命令行进入Sniffer_Software/extcap/
执行命令 pip3 install -r requirements.txt
3.2.2 拷贝工具到Wireshark
将Sniffer_Software/extcap/
中的所有内容拷贝到Wireshark
的extcap
文件夹中.位置在帮助-->关于Wireshark
中,如下图:
3.2.3 开启插件
在Wireshark
中按F5
刷新下,然后在菜单中使能新装的插件:视图 --> 接口工具 --> nRF Sniffer for Bluetooth LE
3.2.4 添加配置文件
添加配置文件以便更清晰的显示数据
将Sniffer_Software/Profile_nRF_Sniffer_Bluetooth_LE
整个文件夹拷贝到Wireshark
的个人配置
文件夹中.
启用Edit > Configuration Profiles > Profile_nRF_Sniffer_Bluetooth_LE > OK
4. 运行
双击接口即可进入抓包界面,从Device
选择框内选择要监听的设备即可只显示该设备的数据包