📌 项目地址:geo-tp/ESP32-Bit-Pirate | ⭐ 4,873 颗星 | 🔧 C++ | 📜 未标注
它不是又一个“Bus Pirate 模仿品”
Bus Pirate 是硬件调试圈里的经典工具,但原版硬件需要单独购买,而且交互依赖物理按键和串口终端。ESP32 Bus Pirate 的思路很直接:用十几块钱的 ESP32 开发板,刷一套固件,让它变成能讲 I2C、SPI、UART、1-Wire、JTAG、CAN、Sub-GHz 甚至 Wi-Fi/蓝牙的“万能接口”。最特别的是,它提供了一个 Web 版命令行界面,你不需要装任何桌面软件,浏览器连上就能操作。
项目当前的主分支是 pioarduino,老的 Arduino core 版本保留在默认分支但已标记为 Deprecated。新用户应该直接看 pioarduino 分支和官方 Wiki。
怎么用:三步上手
第一步,烧录固件。 官方提供了一个网页刷机工具,不用装 Arduino IDE、不用配环境:
使用 ESP32 Bus Pirate Web Flasher 一键安装固件。
第二步,连接。 固件启动后,你可以通过 USB 串口进入 CLI,也可以连上它广播的 WiFi,在浏览器里打开 Web CLI。所有交互都是命令行的形式,但不需要你预先记忆一堆冷门指令,每个模式都内置了 help。
第三步,进模式,开干。 比如你想扫描 I2C 总线上的设备,进入 I2C 模式后执行扫描命令;想 sniff UART 数据,就切到 UART 模式。具体每个模式的命令,官方 Wiki 有逐步指南:
- I2C 模式:scan、glitch、slave、dump、eeprom
- SPI 模式:eeprom、flash、sdcard、slave
- UART 模式:bridge、read、write
- JTAG 模式:扫描引脚、SWD
正因为 README 没有给出具体的命令示例,我也不会瞎编。实际使用时,在任一模式下输入 help 即可看到当前模式的完整命令列表。
它和你想象中的“协议分析仪”有什么区别
大多数协议分析工具是“只读的”,比如逻辑分析仪抓波形,然后你拿软件去解码。ESP32 Bus Pirate 不仅是 sniff,还能主动发送、桥接、模拟设备。它内置了这些具体能力:
- 红外:Device-B-Gone——用来关掉周围红外遥控设备的功能,或者当万能遥控器。
- USB:模拟 HID 设备(键盘、鼠标、游戏手柄),还能当存储设备。
- 蓝牙:BLE HID、扫描、spoofing、sniffing。
- Wi-Fi:sniff、deauth、nmap、netcat。
- 智能卡:2WIRE 模式支持 sniff 和 smartcard 交互。
这意味着你手里的一块 ESP32 开发板,可以同时扮演“逻辑分析仪 + 协议模拟器 + 无线攻击测试工具”的角色。对于做嵌入式调试、硬件逆向、IoT 安全测试的人来说,这个组合相当实用。
另一个值得注意的点是 脚本支持。项目官方维护了一个脚本仓库,把常见操作封装好了,比如读取 EEPROM、扫描设备等。你不需要每次都手动敲命令。
需要注意的地方
- 当前默认分支是旧版。README 明确说了默认分支的是 legacy 版本,基于旧的 Arduino core,不再积极维护。所有新开发都在
pioarduino分支。下载代码或看文档时,别被默认分支误导。 - 这不是完整的 Bus Pirate 开源硬件替代品。原版 Bus Pirate 有专用的电平转换电路和 5V 容忍能力,ESP32 是 3.3V 逻辑,直接接 5V 设备可能需要额外电平转换模块。
- 安全功能要谨慎使用。Wi-Fi deauth、蓝牙 spoofing 这类功能,在部分国家和地区可能涉及法律问题。它本质是一把硬件测试工具,不是玩具。
- “Web CLI”不等于云服务。Web CLI 是运行在 ESP32 本地的,数据不会上传到任何服务器,这对硬件调试来说也很重要。
适合谁
如果你手里有 ESP32 开发板,又经常和传感器、存储芯片、串口设备、无线模块打交道,这可能是你低成本获得一个多协议硬件调试工具的最佳路径。它不需要你额外购买专用硬件,刷固件就能用,而且 Web CLI 让它在手机、平板上也能操作。如果你已经在使用真正的 Bus Pirate,那也可以把它看作一个“无线增强版”的补充工具。
更多模式细节和命令,直接查官方 Wiki:https://github.com/geo-tp/ESP32-Bus-Pirate/wiki