- A+
前言
本文主要介绍 Nordic 的nRF51 Dongle (PCA10031)工具的安装和配置,以及使用该工具配合Wireshark软件,针对蓝牙BLE通信数据进行抓包合协议分析。文中使用的硬件如图所示。
一、软件安装
(1)下载nRF Sniffer software v2.x 或者更高的版本,可以在NordicSniffer产品里下载 Sniffer Download,这里我们选择下载nRF-Sniffer-v2。
该文件里面包含了Segger-jlink工具、Dongle固件包、Sniffer的Python源码程序。打开文件夹,其主要文件如下。
(2) 安装Wireshark v2.4.2 或者更高的版本;
(3) 操作系统:运行Wireshark的环境,Windows 7或者更高版本。
(4) SEGGER J-Link v6.16c(用于下载 Sniffer工具固件),Sniffer software v2.x里面已经提供了segger_jlink软件,直接安装即可。
(5) 安装Python2.7.x,安装Python运行环境,运行上面提及的Sniffer软件。(安装时勾选添加环境变量)
(6) 安装pyserial v3.4 或者更高版本,Sniffer的Python程序中使用到了该模块,安装教程可网上搜索pyserial安装。
在Python的安装目录下,文件夹Scripts中有pip.exe。
来到该目录,输入命令pip.exe install pyserial
即可。
二、nRF Sniffer安装和配置
(1) 打开 Wireshark 软件,Go to Help > About Wireshark,点击 Folders,双击 Extcappath。
将nrf_sniffer_(version)_(hash).zip 文件解压到这个目录下,并将extcap目录的内容复制到该目录下,如下图所示。
(2) 打开 Wireshark 软件,Go to Help > About Wireshark,点击 Folders,双击 Personalconfiguration,打开该目录,将Profile_nRF_Sniffer-(version) 文件拷贝到该目录。
打开 Wireshark 软件,Edit > Configuration Profiles,选中Profile_nRF_Sniffer-(version) ,并确认。
三、烧录固件
(1) 将Sniffer Dongle插到PC上,打开nRFgo Studio软件。
(2) 在软件左侧的选择框中依次点击Device Manager > nRF51 #### > Segger ######,点击Erase all。
然后,选择ProgramApplication > Browse
(3) 选择固件文件,然后点击Program即可。
固件文件在\nrf_sniffer_2.0.0-beta-2_10Sep2018_3ef662e\hex\目录下,选择sniffer_pca10028_####.hex、sniffer_pca10031_####.hex均可,都支持对BLE通信数据的嗅探功能。
四、嗅探蓝牙通信数据
(1) 将Sniffer Dongle插到PC上。打开 Wireshark 软件,选中nRF Sniffer COM# 接口,并点击开始。
(2) 通过主界面, 可以看到嗅探到BLE数据。默认选择的是“All advertising devices”,即周围所有的BLE通信的广播数据。
(3) 通过Device下拉菜单,可以选择要嗅探的目标设备。
选中要嗅探的目标设备,就可以将该设备的通信数据过滤出来。下图所示,是该设备在配对时的Master端发送的蓝牙BLE数据信息。
(4)选择任意其他的设备,可以嗅探到其蓝牙通信数据。