📌 项目地址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 有逐步指南:

正因为 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

这篇文章对你有帮助吗?

发表回复