简介:本文主要介绍使用 Nordic 的nRF51 Dongle (PCA10031)工具,配合Wireshark软件实现对蓝牙BLE通信进行嗅探的环境搭建和配置。
nRF Sniffer software v2.x 或者更高的版本
可以在Nordic Sniffer产品里下载 Sniffer Download,这里我们选择下载nRF-Sniffer-v2(下载链接:https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF-Sniffer),该文件里面包含了Segger-jlink工具、Dongle固件包、Sniffer的Python源码程序。
打开文件夹,其主要文件如下。
安装Wireshark v2.4.2 或者更高的版本 Download;
操作系统:运行Wireshark的环境,Windows 7或者更高版本。
SEGGER J-Link(用于下载 Sniffer 工具固件),Sniffer software v2.x里面已经提供了segger_jlink软件,直接安装即可。
安装Python2.7.x(下载链接https://www.python.org/downloads/),安装Python运行环境,运行上面提及的Sniffer软件。(安装时勾选添加环境变量)
安装pyserial v3.4 或者更高版本Download,Sniffer的Python程序中使用到了该模块,安装教程可网上搜索pyserial安装。
在Python的安装目录下,文件夹Scripts中有pip.exe。
来到该目录,输入命令pip.exe install pyserial即可。
二、 nRF Sniffer安装
打开 Wireshark 软件,Go to Help > About Wireshark,点击 Folders,双击 Extcap path。
将nrf_sniffer_(version)_(hash).zip 文件解压到这个目录下,并将extcap目录的内容复制到该目录下,如下图所示。
打开 Wireshark 软件,Go to Help > About Wireshark,点击 Folders,双击 Personal configuration,打开该目录,将Profile_nRF_Sniffer-v2_001文件拷贝到该目录。
打开 Wireshark 软件,Edit > Configuration Profiles,选中Profile_nRF_Sniffer-v2_001,并确认。
三、 烧录固件
将Sniffer Dongle插到PC上,打开nRFgo Studio软件。
在左侧的选择框中依次点击Device Manager > nRF51 #### > Segger ######,点击Erase all。
然后,选择Program Application > Browse
选择固件文件,然后点击Program即可。
固件文件在\nrf_sniffer_2.0.0-beta-2_10Sep2018_3ef662e\hex\目录下,选择sniffer_pca10028_####.hex、sniffer_pca10031_####.hex均可,都支持对BLE通信数据的嗅探功能。
四、嗅探蓝牙通信数据
将Sniffer Dongle插到PC上,打开 Wireshark 软件,选中nRF Sniffer COM# 接口,并点击开始。
可以嗅探到BLE数据。
通过Device下拉菜单,可以选择要嗅探的目标设备。