用Wireshark实时分析蓝牙BR/EDR流量:BrakTooth FIFO活抓与pcapng日志落盘配置详解

发布时间:2026/8/28 8:47:22
用Wireshark实时分析蓝牙BR/EDR流量:BrakTooth FIFO活抓与pcapng日志落盘配置详解 用Wireshark实时分析蓝牙BR/EDR流量BrakTooth FIFO活抓与pcapng日志落盘配置详解【免费下载链接】esp32_bluetooth_classic_snifferActive Bluetooth BR/EDR Sniffer/Injector as cheap as any ESP32 board can get. Works with Scapy ;-)项目地址: https://gitcode.com/gh_mirrors/es/esp32_bluetooth_classic_sniffer 想亲眼看到蓝牙经典协议BR/EDR基带层的数据包吗BrakToothesp32_bluetooth_classic_sniffer是一个基于 ESP32 的主动式蓝牙 BR/EDR 嗅探/注入工具它让一块几块钱的 ESP32 开发板变身蓝牙监控模式抓包器固件嗅探空中基带包主机端通过FIFO 命名管道把数据实时喂给Wireshark 实时分析同时把流量落盘为pcapng 日志文件全程还能配合 Scapy 解码。本指南将带你从零完成安装、闪录固件、开启 Wireshark 活抓与日志保存配置。一、认识 BrakTooth比被动嗅探器更强的主动抓包与传统的被动式蓝牙嗅探器只监听、不互动不同BrakTooth 是主动嗅探器——它会主动与远端蓝牙设备建立连接在 BlueKitchen 蓝牙主机协议栈的引导下把 BR/EDR 交互测试一直深入到基带Baseband层RX/TX Sniffer嗅探 Baseband Header、NULL/POLL、FHS、ACL Header、LMP 等数据包并转发到主机TX Injector在配对/传输时隙注入 BR/EDR 数据包ROM Patcher / HCI 桥接安装 ROM 钩子并创建 HCI 伪终端让 ESP32 作为标准 HCI 控制器工作整体架构中ESP32 固件通过 USB 串口与主机通信BTSnifferBREDR.py负责解码嗅探包、驱动 Wireshark 与 pcap 落盘核心逻辑就在 BTSnifferBREDR.py 中。二、快速上手环境安装与固件烧录1. 安装依赖Ubuntu 18.04 / 20.04克隆仓库如 https://gitcode.com/gh_mirrors/es/esp32_bluetooth_classic_sniffer 获取后执行./requirements.sh # (sudo required) 安装最新 Wireshark 和独立 Python3 运行时 ./build.sh # 编译 BT 主机程序和 Wireshark h4bcm 解析插件其中 requirements.sh 会通过 Wireshark 官方 PPA 安装最新版 Wireshark 与wireshark-dev后者是编译基带解析插件的前提。2. 烧录自定义固件到 ESP32sudo chown $USER:$USER /dev/ttyUSB0 # 赋予串口权限避免每次都用 sudo ./firmware.py flash /dev/ttyUSB0 # 将自定义固件刷入 ESP32⚠️ 部分开发板需要在烧录时按住 BOOT 键进入下载模式ESP-WROVER-KIT 等板子请使用/dev/ttyUSB1。firmware.py 会自动检测并安装 PlatformIO固件工程位于 firmware/ 目录你也可以用./firmware/build_from_source.sh从源码自行编译固件。三、Wireshark 实时分析FIFO 活抓配置详解 这是 BrakTooth 最有意思的部分。BTSnifferBREDR.py启动时做三件事创建命名管道os.mkfifo(runtime/fifocap.fifo)生成 FIFO 文件拉起 Wireshark 实时会话wireshark -k -i runtime/fifocap.fifo-k表示捕获后立即开始显示用 Scapy 的 PcapWriter 写入 FIFOPcapWriter(fifo, syncTrue)每收一个嗅探包就同步写入管道Wireshark 界面即时刷新也就是说ESP32 空中捕获的每一个基带包都会被src/layers_bredr.py中的ESP32_BREDR层解码包上HCI_PHDR_Hdr / HCI_Hdr协议头后实时灌进 Wireshark——这就是所谓的FIFO 活抓。Master 模式主动连接目标设备./BTSnifferBREDR.py --port/dev/ttyUSB0 --targetE0:D4:E8:19:C7:69 \ --live-terminal --live-wireshark带--target参数时嗅探器以主设备Master角色主动连接目标并自动启动 SDP/RFComm 查询程序host_stack/sdp_rfcomm_query终端会实时打印 TX/RX 包摘要Wireshark 同步显示 LMP 握手过程常用参数速查参数作用--port串口名Linux 下为 /dev/ttyUSBx--host本机 BDAddress默认 E0:D4:E8:19:C7:68--target远端目标 BDAddress提供则进入 Master 模式--live-wireshark打开 Wireshark 实时会话FIFO 活抓--live-terminal终端逐包打印摘要--bridge-only仅创建 HCI 桥/dev/pts/x可接入任意第三方 BT 主机协议栈四、pcapng 日志落盘抓包自动保存除了实时显示FIFO 通道同时还有一条落盘通道pcap_filename logs/capture_bluetooth.pcapng pcap_writer PcapWriter(self.pcap_filename, syncTrue)两个 PcapWriter 并行工作一个写 FIFO 供 Wireshark 观看一个写logs/capture_bluetooth.pcapng永久留档并自动chmod orw放开权限。按 CtrlC 退出后程序会提示Capture saved on logs/capture_bluetooth.pcapng 好处是你可以现场用 Wireshark 交互分析事后再用同一份 pcapng 做离线取证或在 Wireshark 中用 File → Open Recent 直接回看还可以导入 Scapy 做二次处理——毕竟 BrakTooth 是Works with Scapy ;-) 的设计。五、让 Wireshark 看懂 BR/EDRh4bcm 解析插件原生 Wireshark 并不认识蓝牙基带的 LMP 字段BrakTooth 在 dissectors/ 目录下提供了基于h4bcmBroadcom H4 诊断协议的 Wireshark 插件它扩展了解析能力支持 Baseband、LMP 层以及 ESP32 自定义元数据头。执行./build.sh后插件会被编译并安装到~/.local/lib/wireshark/plugins/目录。启动 Wireshark 加载该插件后抓到的数据包就能展开看到类似LMP_features_req、LMP_features_res这样的协议层明细而不是一串原始字节。六、Slave 与 Bridge-only 两种进阶模式Slave 模式等待设备主动连入去掉--target参数即可./BTSnifferBREDR.py --port/dev/ttyUSB0 --live-terminal --live-wireshark嗅探器以从设备Slave角色广播并等待连接自动运行 SPP 串口程序host_stack/spp_counter适合测试手机/主机发起连接的场景Bridge-only 模式接入任意主机协议栈./BTSnifferBREDR.py --port/dev/ttyUSB0 --bridge-only --live-terminal --live-wireshark该模式只创建 HCI 伪终端/dev/pts/x不启动内置主机协议ESP32 此时就是一块标准 HCI 蓝牙控制器可供任意第三方协议栈通过串口驱动——配合--live-wireshark依然能实时抓包落盘。七、小结硬件成本极低一块 4~10 美元的 ESP32 即可构建蓝牙 BR/EDR 主动嗅探器实时性FIFO 管道 wireshark -k -i实现毫秒级实时分析终端同步打印包摘要可回溯logs/capture_bluetooth.pcapng自动落盘随时离线回放可解释h4bcm Wireshark 插件把基带/LMP 层完整解析配合 Scapy 还能做深度定制从 README.md 可以了解更多架构细节主机协议栈示例程序SPP 计数器、SDP 查询在 host_stack/ 下均可按 BlueKitchen 官方文档自行扩展蓝牙配置文件。【免费下载链接】esp32_bluetooth_classic_snifferActive Bluetooth BR/EDR Sniffer/Injector as cheap as any ESP32 board can get. Works with Scapy ;-)项目地址: https://gitcode.com/gh_mirrors/es/esp32_bluetooth_classic_sniffer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻