工具
USBPcap Windows USB 抓包工具
Tomasz Moń 开发的开源 Windows USB 抓包工具。安装在 Windows USB 设备栈中的过滤驱动会记录各根集线器上设备收发的 USB 请求块(URB),再由 USBPcapCMD 写成 LINKTYPE_USBPCAP 格式的 pcap 文件,供 Wireshark 解析。从 1.2.0.0 版起,项目推荐把 USBPcapCMD 作为 Wireshark extcap 使用:每个根集线器会显示为一个抓包接口,可选择抓取指定设备、全部设备或新接入的设备,还能把已连接设备的描述符补进抓包数据。
- 目标
- 协议
- 类别
- 协议分析工具
- 关联
- 基础工具
- 来源复核于
使用条件与局限
- 审阅时最新版本为 1.5.4.0,发布于 2020-05-22,提供经数字签名的 USBPcapSetup 安装程序(适用于 x86 和 x64 的 Windows 7、8 和 10),以及附带调试符号的源码包。所审阅的 master 提交(2025-01-25)在此基础上新增两项尚未发布的驱动修复,其中一项标为关键修复,分别涉及内核缓冲区重新分配和读取请求的完成顺序。安装程序不支持早于 Windows 7 的系统(1.5.3.0 是最后支持 XP 和 Vista 的版本),也不支持 Windows To Go;Windows 7 用户需先安装 SHA-2 更新(KB3033929 或 KB4474419),安装后须重启。
- 抓包在分析者自己的 Windows 电脑上进行。可直接运行 USBPcapCMD.exe,选择根集线器过滤实例和输出文件;也可以把它复制到 Wireshark 的全局或个人 extcap 文件夹,Wireshark 自 1.10.0rc1 起支持 USBPcap。README 提到目前没有抓包引擎 DLL。项目教程建议抓取新接入的设备,或在开始抓包后重新插拔设备,使设备描述符进入抓包数据,供 Wireshark 解析器使用。
- 按 README 说明,从源码构建 Windows 7 驱动需要 Windows Driver Kit 7.1.0,Windows 8 版本则需要 Visual Studio 2013 和 WDK 8.1 Update。正式发布的驱动由作者使用自己未公开的证书,经 Microsoft Hardware Dev Center 进行认证签名。自行构建的驱动使用仓库中的测试证书(certificates/USBPcapTestCert.*)签名;README 说明,在 64 位 Windows 上需开启测试签名模式才能加载。仓库中其余的二进制文件只有 NSIS 安装插件 SysRestore.dll 和两份公开的 CA 交叉证书。
- 项目的抓包限制页面说明,USBPcap 记录的是在设备栈的功能设备对象与物理设备对象之间传递的 URB,因此看不到总线状态、包标识(PID)、拆分事务、线上时序和传输速率,也看不到设备获得地址之前的枚举过程;该页面称这些只能由硬件 USB 嗅探器看到。抓到的数据如何解读,仍需分析者在 Wireshark 或其他解析器中自行完成协议分析。
- README 和 SPDX 文件头声明,驱动采用 GPL-2.0,USBPcapCMD 采用 BSD-2-Clause。仓库根目录没有许可证文件,许可证文本位于 nsis/ 和 wix/ 中,因此 GitHub 未识别出许可证。本次未构建或安装驱动,也未抓取任何 USB 流量。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README GitHub · desowin/usbpcap · 修订 477b6ed
- USBPcapCMD/cmd.c#L1118-L1182 GitHub · desowin/usbpcap · 修订 477b6ed
- USBPcapDriver/USBPcap.inx GitHub · desowin/usbpcap · 修订 477b6ed
- USBPcapDriver/USBPcapMain.c#L1-L5 GitHub · desowin/usbpcap · 修订 477b6ed
- nsis/USBPcap.nsi#L84-L125 GitHub · desowin/usbpcap · 修订 477b6ed
- config.bat GitHub · desowin/usbpcap · 修订 477b6ed
- certificates GitHub · desowin/usbpcap · 修订 477b6ed
- nsis/gpl-2.0.txt GitHub · desowin/usbpcap · 修订 477b6ed
- nsis/bsd-2clause.txt GitHub · desowin/usbpcap · 修订 477b6ed
- https://github.com/desowin/usbpcap/releases/tag/1.5.4.0
- https://desowin.org/usbpcap/
- https://desowin.org/usbpcap/tour.html
- https://desowin.org/usbpcap/capture_limitations.html
- https://desowin.org/usbpcap/captureformat.html
同分区更多条目:协议
- cantools CAN 总线数据库工具 · 工具
- inspectrum 无线电信号分析工具 · 工具
- PULSAR 协议学习研究原型 · 工具
- CanLab CAN 总线逆向分析工作站 · 工具
- Facedancer USB 设备仿真与代理库 · 工具
- Mirage 无线通信分析框架 · 工具