54

利用nRF Sniffer对蓝牙BLE通信数据进行嗅探和分析

 5 years ago
source link: https://www.freebuf.com/sectool/188819.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

*本文作者:barcating,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

前言

本文主要介绍 Nordic 的 nRF51 Dongle (PCA10031)工具的安装和配置,以及使用该工具配合Wireshark软件,针对蓝牙BLE通信数据进行抓包合协议分析。文中使用的硬件如图所示。

ZvyYziu.jpg!web

一、软件安装

(1)下载nRF Sniffer software v2.x 或者更高的版本,可以在NordicSniffer产品里下载 Sniffer Download,这里我们选择下载 nRF-Sniffer-v2

zaYVZj2.jpg!web

该文件里面包含了Segger-jlink工具、Dongle固件包、Sniffer的Python源码程序。打开文件夹,其主要文件如下。

JjaAb2v.jpg!web

nuyM7ni.jpg!web

(2) 安装 Wireshark v2.4.2 或者更高的版本;

(3) 操作系统:运行Wireshark的环境,Windows 7或者更高版本。

(4) SEGGER J-Link v6.16c(用于下载 Sniffer工具固件),Sniffer software v2.x里面已经提供了segger_jlink软件,直接安装即可。

aEBveai.jpg!web

(5) 安装 Python2.7.x ,安装Python运行环境,运行上面提及的Sniffer软件。(安装时勾选添加环境变量)

(6) 安装pyserial v3.4 或者更高版本,Sniffer的Python程序中使用到了该模块,安装教程可网上搜索pyserial安装。

在Python的安装目录下,文件夹Scripts中有pip.exe。

yYjmy2R.jpg!web

来到该目录,输入命令 pip.exe install pyserial 即可。

YZNJryN.jpg!web

二、nRF Sniffer安装和配置

(1) 打开 Wireshark 软件,Go to Help > About Wireshark,点击 Folders,双击 Extcappath。

6zQvayj.jpg!web

将nrf_sniffer_(version)_(hash).zip 文件解压到这个目录下,并将extcap目录的内容复制到该目录下,如下图所示。

FJRFf2f.jpg!web

(2) 打开 Wireshark 软件,Go to Help > About Wireshark,点击 Folders,双击 Personalconfiguration,打开该目录,将Profile_nRF_Sniffer-(version) 文件拷贝到该目录。

B3mIZbI.jpg!web

打开 Wireshark 软件,Edit > Configuration Profiles,选中Profile_nRF_Sniffer-(version) ,并确认。

uYzUZvq.jpg!web

VNJ3Eby.jpg!web

三、烧录固件

(1) 将Sniffer Dongle插到PC上,打开nRFgo Studio软件。

(2) 在软件左侧的选择框中依次点击Device Manager > nRF51 #### > Segger ######,点击Erase all。

VJrA7rZ.jpg!web

然后,选择ProgramApplication > Browse

(3) 选择固件文件,然后点击Program即可。

RfuiUrF.jpg!web

固件文件在\nrf_sniffer_2.0.0-beta-2_10Sep2018_3ef662e\hex\目录下,选择sniffer_pca10028_####.hex、sniffer_pca10031_####.hex均可,都支持对BLE通信数据的嗅探功能。

Vfmuauu.jpg!web

四、嗅探蓝牙通信数据

(1) 将Sniffer Dongle插到PC上。打开 Wireshark 软件,选中nRF Sniffer COM# 接口,并点击开始。

2QNFjmb.jpg!web

(2) 通过主界面, 可以看到嗅探到BLE数据。默认选择的是“All advertising devices”,即周围所有的BLE通信的广播数据。

VRZBbyU.jpg!web

(3) 通过Device下拉菜单,可以选择要嗅探的目标设备。

yMbYvmr.jpg!web

选中要嗅探的目标设备,就可以将该设备的通信数据过滤出来。下图所示,是该设备在配对时的Master端发送的蓝牙BLE数据信息。

fErEBjj.jpg!web

(4)选择任意其他的设备,可以嗅探到其蓝牙通信数据。

f2u2YjJ.jpg!web

*本文作者:barcating,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK