Windows中如何安装蓝牙虚拟嗅探器 (btvs.exe),并配合Wireshark工具抓取蓝牙通讯报文

4 阅读3分钟

1. 安装 BTVS(btvs.exe)

蓝牙虚拟嗅探器(btvs.exe)是 Microsoft 提供的 Bluetooth Test Platform (BTP) 软件包中的一个工具。若要使用它,首先需要安装 BTP:

  • 在 BTP 软件包中包含了 BTVS 等多种测试工具,其中 “Bluetooth Virtual Sniffer(BTVS)” 从版本 1.5.1 开始被纳入该软件包。
  • 下载并运行 BTP 的安装程序(.msi)以安装该工具。安装后,请不要移动或删除安装文件,如需重装建议通过 Windows 控制面板的“添加或删除程序”功能卸载后重新安装。
  • 默认 BTP 会安装到 C:\BTP\(或类似路径),其中包含 btvs.exe 可在对应架构文件夹(如 x86、x64)下使用。

2. 使用 btvs.exe(启动蓝牙虚拟嗅探器)

安装完成后,你可以按照以下流程使用 btvs.exe:

  1. 打开命令提示符或 PowerShell,切换到 btvs.exe 所在目录(比如 C:\BTP\<version>\x86\)。
  2. 运行以下命令来启动虚拟嗅探器:
btvs.exe -Mode Wireshark

上述命令将以 Wireshark 模式运行 BTVS,若系统已安装 Wireshark,会自动启动 Wireshark 连接到默认 TCP 管道(默认端口 24352)。

  1. 如果 Wireshark 没有自动打开,你可以手动打开 Wireshark,并按如下方式指定接口:
wireshark -k -i TCP@127.0.0.1:24352

这里 -k 表示启动后开始实时捕获,-i 指定数据源接口。


3. 远程 Wireshark 使用方式

若希望在另一台电脑上查看捕获数据,可以运行:

btvs.exe -Mode Wireshark -Remote on

默认情况下(远程模式)BTVS 会侦听 TCP 24352 端口,Wireshark 需连接至源主机的 IP 和该端口:

wireshark -k -i TCP@<ip address>:24352

4. 可视界面功能简介

在 BTVS 的图形界面中,有以下两个按钮可供使用:

按钮名称功能说明
完整数据包日志记录(Full Packet Logging)记录通常被忽略或丢弃的 HCI 数据包,比如大型 ACL 数据包、敏感数据(加密密钥、HID 报告)。
设置或扩展调试模式(Set or Extend Debug Mode)启用 SSP 调试模式,允许发送和接收 SMP 调试密钥,点击可延长时间。

5. 支持的其他模式

BTVS 除了支持 Wireshark 分析,还支持以下两个平台:

  • Ellisys 蓝牙分析器:需要在 Ellisys 工具中启用 HCI 注入服务,然后按如下方式运行:

    btvs.exe -Mode Ellisys
    

    如需设置远程地址或端口,可使用 -Address-Port 参数调整。

  • Frontline 协议分析系统:在支持的机器上运行:

    btvs.exe -Mode Frontline
    

    然后使用界面上的 "Start Capture"(红色按钮)和 “View → Frame Display” 来查看 HCI 跟踪内容。


总结流程

  1. 下载并安装 Bluetooth Test Platform (BTP),包含 btvs.exe 的工具。
  2. 在对应架构目录运行 btvs.exe,例如:
    • btvs.exe -Mode Wireshark(本地 Wireshark)
    • btvs.exe -Mode Wireshark -Remote on(远程 Wireshark)
  3. 启动 Wireshark 或其他分析器并连接至 TCP 接口(默认:127.0.0.1:24352)。
  4. 在 BTVS UI 中可启用“完整数据包日志记录”或“调试模式”,以获取更丰富的 HCI 信息。

如果你有具体场景(比如路径问题、端口冲突、网络规则等),欢迎随时告诉我,我可以继续帮你诊断或优化使用方式!