美文网首页
使用nRF52832开发板用作dongle抓取蓝牙数据包

使用nRF52832开发板用作dongle抓取蓝牙数据包

作者: 海东青电子 | 来源:发表于2021-03-21 16:33 被阅读0次

    nRF52832 DK 是Nordic(北欧半导体)的52832的官方开发板,

    图一 nRF52832 DK

    这个板子除了它的本职工作--跑nRF52832的例程、调试代码之外,其实它还有一个特殊功能:作为一个蓝牙嗅探器(ble sniffer)抓取蓝牙数据包,以供蓝牙协议分析。关于蓝牙抓包的权威指南是Nordic官网的这个地址:https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Sniffer-for-Bluetooth-LE

    Nordic的多个开发板(DK)和dongle都可以用来抓包的:

    图二

    使用 nRF52832 DK抓包需要的工作步骤如下:

    1、获取相关软件包:nRF52832 DK抓包工具软件包(固件、有关插件、文档说明)、Wireshark,安装必要的Python软件包。

    2、对 nRF52832 DK烧写固件。

    3、安装 Wireshark。

    4、安装 pyserial 3.4 以上版本。

    5、配置 Wireshark插件、以支持由 nRF52832 DK 串口数据进行蓝牙协议分析。

    下面详述每一个步骤:

    1、获取相关软件包

    【nRF52832 DK抓包工具软件包】下载地址:https://download.csdn.net/download/code_1234/16014920,文件名称:nrf_sniffer_for_bluetooth_le_3.1.0_7cc811f.rar(或 nrf_sniffer_for_bluetooth_le_3.1.0_7cc811f .zip)。

    【Wireshark-win64-3.2.11.exe】下载地址:https://www.wireshark.org/download.html

    (这是64-bit版本,根据自己PC具体情况选择下载;对Wireshark版本没有特殊要求、比较新的都可以)

    2、烧写 nRF52832 DK固件

    解压缩 nrf_sniffer_for_bluetooth_le_3.1.0_7cc811f.rar 到任意目录,其中 hex 子目录下有一个文件:sniffer_nrf52dk_nrf52832_7cc811f.hex,这是要烧写的固件文件。

    图三

    首先连接 nRF52832开发板到PC,然后打开nRF52832烧写工具:

    图四

    将上述hex固件文件拖到Programmer中:

    图五

    烧写固件:

    图六

    烧写成功后,板子上LED1是快速闪烁的状态:

    图七

    退出Programmer软件(释放占用的串口,因为后面Wireshark的插件也要用这个串口):

    图八

    安装Wireshark:

    图九 图十 图十一 图十二 图十三

    需要安装Npcap插件:

    图十四

    USBPcap是USB数据抓包插件,可装可不装,这里选择不安装:

    图十五

    开始安装过程:

    图十六

    自动跳出安装Npcap的界面:

    图十七

    Npcap的选项,可按如下勾选:

    图十八 图十九 图二十 图二十一

    Wireshark继续安装:

    图二十二 图二十三

    安装完毕:

    图二十四

    下面配置 Wireshark插件,先查找 Wireshark插件的目录位置。启动Wireshark:

    图二十五

    在弹出的窗口中,点击 文件夹 选项卡,再双击 Global Extcap path 后面的路径:

    图二十六

    将nrf_sniffer_for_bluetooth_le_3.1.0_7cc811f.rar解压缩出来的extcap目录下的所有文件和目录:

    图二十七

    copy到图二十六中打开的Wireshark插件目录中:

    图二十八

    4、安装 pyserial 

    首先需要确认PC中已经安装了Python,然后在cmd终端窗口或PowerShell窗口中输入命令:

    pip install pyserial>=3.4

    即可安装pyserial。Wireshark调用蓝牙sniffer插件,sniffer插件又调用了Python的serial包,所以需要pyserial包的支持。

    至此,所有准备工作都完成了,再次启动Wireshark,可以看到出现了nRF Sniffer插件(COM口因个人PC会不同):

    图二十九

    在Wireshark的 视图(View)菜单中,可以勾选 接口工具栏-->nRF Sniffer for Bluetooth LE 来控制是否显示Sniffer出现在Wireshark界面上(不影响蓝牙抓包功能的正常使用):

    图三十

    蓝牙抓包实例:

    图三十一

    工具包中还有一个Wireshark的”配置“文件目录:

    图三十二

    copy到Wireshark对应目录中:

    图三十三

    貌似抓包数据的颜色有些变化(不影响抓包效果):

    图三十四

    (完)

    相关文章

      网友评论

          本文标题:使用nRF52832开发板用作dongle抓取蓝牙数据包

          本文链接:https://www.haomeiwen.com/subject/aczncltx.html