You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用nRF BLE Sniffer捕获已连接设备间的BLE数据包?

解决nRF Sniffer捕获已连接BLE设备通信的方法

要捕获已建立连接的BLE设备(如智能手环与手机)的通信数据包,核心是获取BLE连接的关键参数并手动配置nRF Sniffer跟踪该连接,以下是具体可行的方法:

方法1:提前捕获连接建立过程,提取连接参数

  • 启动nRF Sniffer捕获,再触发手环与手机的连接流程。此时Sniffer会捕获到连接建立的完整数据包(包括CONNECT_REQ、CONNECT_RSP等帧)。
  • 在Wireshark的数据包列表中找到连接请求帧,从中提取以下关键参数:
    • 访问地址(Access Address)
    • 连接间隔(Connection Interval)
    • 跳频通道映射(Channel Map)
    • 时钟偏移(Clock Offset)
  • 保存这些参数,后续需跟踪已连接设备时,直接在Sniffer配置中填入即可启动捕获。

方法2:从设备端日志提取连接参数

  • 安卓手机端:开启开发者选项中的「蓝牙HCI snoop日志」,连接手环后导出日志文件(通常在/sdcard/Android/data/com.android.bluetooth/files/目录下),用Wireshark打开日志提取连接参数;也可通过ADB命令直接抓取日志:
    adb logcat -s BluetoothHci BluetoothGatt
    
  • 手环端:如果手环支持调试模式,可通过厂商提供的调试工具导出连接日志,从中提取所需参数。

方法3:手动配置nRF Sniffer跟踪现有连接

  • 打开Wireshark,进入捕获界面,选择nRF Sniffer对应的接口并点击「选项」。
  • 在弹出的配置窗口中,找到「LE Sniffer」设置项,手动填入:
    • 手环的LE蓝牙地址
    • 之前获取到的访问地址、连接间隔、跳频通道映射等参数
  • 确认配置后启动捕获,Sniffer即可跟踪已建立的BLE连接,捕获两者间的通信数据包。

注意事项

  • BLE连接使用私有访问地址和跳频机制,仅添加设备地址不足以让Sniffer定位到连接通信,必须完整配置所有连接参数。
  • 部分手环可能使用随机私有地址且地址会定期更新,需确保获取的是当前连接使用的有效地址。

内容的提问来源于stack exchange,提问作者qiu ye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 11:17:13