电子产业一站式赋能平台

PCB联盟网

搜索
查看: 16|回复: 0
收起左侧

从0开始学习BLE:抓包

[复制链接]
匿名  发表于 昨天 14:59 |阅读模式
抓包的效果:

(一)准备工具
wireshark 软件
抓包器:理论上能接收蓝牙信号的都可以成为抓包器,所以可以网上买个现成的抓包器,也可以用自己参考官方开发板自己制作一个核心板。
NRF52832使用的开发板默认的串口,P006,P008

nrf52832CTS要拉低,才能工作
如果使用nrf52840核心板做爪包,使用USB接口连接电脑,刷入开发板配套的抓包固件而不是dongle的固件,dongle的固件弹不出com接口。
(二)软件安装安装 python 环境python 的版本要求是在 3.6 及以上,并且不要忘记勾选 pip 安装选项!



安装 WireShark安装 WireShark



下载官方抓包工具,wireshark是一个壳,实际上完成抓包数据的还是官方提供的工具软件实现的。

a)在Sniffer_Software/extcap/ 文件夹中打开命令窗口。  打开cmd命令窗口,切换到安装盘,比如D盘,输入D:
  然后CD D:\Program Files\Wireshark\extcap
b)输入 pip3 install -r requirements.txt,安装。
  安装可能提示升级pip,根据提示运行命令
c) 关闭命令窗口

将 nrf_sniffer_for_bluetooth_le_4.1.0/extcap 目录里的内容原封不动的拷贝到 Wireshark 安装目录里的 extcap 下。

将 Profile_nRF_Sniffer_Bluetooth_LE 拷贝到如下图所示目录:

确保nRF Sniffer文件可以正确运行:
进入Wireshark/extcap目录,输入
$ nrf_sniffer_ble.bat --extcap-interfaces
当出现如下界面的时候,说明文件可以正常运行

(二)蓝牙抓包分析启动 Wireshark ,勾选接口工具栏里的 nrf sniffer for Bluetooth LE 选项。

双击如下图所示 nrf sniffer for Bluetooth LE COMxx 栏。

如下图可以选择捕获 37,38,39 广播信道 上的数据包。

选择要抓包的设备对象

如下图所示,可将蓝牙协议数据包的成员变量单独变成一个列表,便于显示:

以下是手机 BLE 调试助手 app 连接蓝牙设备并读写设备的步骤:

通过 WireShark 查找功能找到连接蓝牙的起始步骤 CONNECT_IND:

为了便于查找我们可以先如下图所示过滤空包:

手机 app 获取蓝牙设备名时产生的数据包分析:

Opcode = 0x08; Opcode = 0x09; 对应的蓝牙规范手册内容如下:

手机 app 发送字符串 light on 产生的数据包分析:

Opcode = 0x12; Opcode = 0x13; 对应的蓝牙规范手册内容如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表