工具

Facedancer USB 设备仿真与代理库

用软件实现 USB 设备的 Python 库,借助 Cynthion、GreatFET 等硬件外设充当连接目标主机的可远程控制 USB 控制器。其 USBProxy 模式位于真实设备与主机之间转发传输,并由过滤器记录、解码或修改传输内容,用于 USB 协议分析;README 指出,这适用于无法控制其软件的设备,例如嵌入式系统或游戏主机。第 3 版从头重写了仿真核心,内置键盘、大容量存储和 FTDI 串口设备模型以及 HID 与日志代理过滤器,不再支持旧版 2.9.x 脚本。

目标
协议
类别
协议分析工具
关联
基础工具
来源复核于

使用条件与局限

  • 需要用 BACKEND 变量选择受支持的板卡:Cynthion(cynthion)、GreatFET One 及其他 LPC4330 板卡(greatfet)、Facedancer21 等基于 GoodFET 的 Facedancer(goodfet)、树莓派 Raspdancer 板卡(raspdancer),或 HydraDancer 与 HydraUSB3(hydradancer)。README 称基于 MAX3420/MAX3421 的板卡无法仿真较复杂的设备,也不能充当 USBProxy 中间人设备,HydraDancer 板卡不支持主机模式。
  • 审阅时最新版本为 3.1.3,于 2026-05-22 发布在 GitHub 和 PyPI,与所审阅的 main 提交相同;pyproject.toml 要求 Python 3.10+,并依赖 pyusb、libusb1、pyserial、prompt-toolkit 和 hid-parser。README 称 Facedancer 3.0 无法在 Windows 上运行、仅支持 GNU/Linux,而入门指南把这一警告限定为在 Windows 控制主机上使用 GreatFET,代理指南则称在 macOS 上须以 root 身份运行 USBProxy 才能从系统接管被代理的设备。
  • USBProxy 需要被代理的真实设备,并按其厂商 ID 和产品 ID 识别;由分析者编写的过滤器决定转发、记录或修改哪些内容。README 称代理功能已完成,但还需更多文档。仓库只包含 Python 源码、示例、测试和文档,不含板卡固件。只应对自己拥有或已获授权测试的主机和设备进行仿真和代理。
  • 采用 BSD-3-Clause 许可。本次未连接任何硬件,也未采集 USB 流量。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · greatscottgadgets/facedancer · 修订 9f12988
  2. README.md#L55-L77 GitHub · greatscottgadgets/facedancer · 修订 9f12988
  3. README.md#L98-L117 GitHub · greatscottgadgets/facedancer · 修订 9f12988
  4. docs/source/using_usb_proxy.rst GitHub · greatscottgadgets/facedancer · 修订 9f12988
  5. docs/source/getting_started.rst GitHub · greatscottgadgets/facedancer · 修订 9f12988
  6. facedancer/filters GitHub · greatscottgadgets/facedancer · 修订 9f12988
  7. facedancer/devices GitHub · greatscottgadgets/facedancer · 修订 9f12988
  8. pyproject.toml GitHub · greatscottgadgets/facedancer · 修订 9f12988
  9. CHANGELOG.md GitHub · greatscottgadgets/facedancer · 修订 9f12988
  10. LICENSE GitHub · greatscottgadgets/facedancer · 修订 9f12988
  11. https://github.com/greatscottgadgets/facedancer/releases/tag/3.1.3
  12. https://pypi.org/project/facedancer/3.1.3/
  13. https://facedancer.readthedocs.io/en/latest/

同分区更多条目:协议

协议分区全部 66 项资源