# USBPcap Windows USB 抓包工具

> Tomasz Moń 开发的开源 Windows USB 抓包工具。安装在 Windows USB 设备栈中的过滤驱动会记录各根集线器上设备收发的 USB 请求块（URB），再由 USBPcapCMD 写成 LINKTYPE_USBPCAP 格式的 pcap 文件，供 Wireshark 解析。从 1.2.0.0 版起，项目推荐把 USBPcapCMD 作为 Wireshark extcap 使用：每个根集线器会显示为一个抓包接口，可选择抓取指定设备、全部设备或新接入的设备，还能把已连接设备的描述符补进抓包数据。

- 类型：工具
- 目标：协议
- 类别：协议分析工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/desowin/usbpcap>
- 一手来源：<https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/README>
- 目录页面：<https://awesomerea.org/zh/resources/usbpcap/>
- 记录 JSON：<https://awesomerea.org/resources/usbpcap/record.json>
- 英文版：[English](https://awesomerea.org/resources/usbpcap/index.md)

## 使用条件与局限

- 审阅时最新版本为 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 未识别出许可证。

## 一手来源

1. <https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/README>
2. <https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/USBPcapCMD/cmd.c#L1118-L1182>
3. <https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/USBPcapDriver/USBPcap.inx>
4. <https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/USBPcapDriver/USBPcapMain.c#L1-L5>
5. <https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/nsis/USBPcap.nsi#L84-L125>
6. <https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/config.bat>
7. <https://github.com/desowin/usbpcap/tree/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/certificates>
8. <https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/nsis/gpl-2.0.txt>
9. <https://github.com/desowin/usbpcap/blob/477b6edcbd7e99a47f77afc0c4168a9ebee603bb/nsis/bsd-2clause.txt>
10. <https://github.com/desowin/usbpcap/releases/tag/1.5.4.0>
11. <https://desowin.org/usbpcap/>
12. <https://desowin.org/usbpcap/tour.html>
13. <https://desowin.org/usbpcap/capture_limitations.html>
14. <https://desowin.org/usbpcap/captureformat.html>

## 同分区更多条目：协议

- [cantools CAN 总线数据库工具](https://awesomerea.org/zh/resources/cantools/index.md) · 工具
- [inspectrum 无线电信号分析工具](https://awesomerea.org/zh/resources/inspectrum/index.md) · 工具
- [PULSAR 协议学习研究原型](https://awesomerea.org/zh/resources/pulsar/index.md) · 工具
- [CanLab CAN 总线逆向分析工作站](https://awesomerea.org/zh/resources/canlab/index.md) · 工具
- [Facedancer USB 设备仿真与代理库](https://awesomerea.org/zh/resources/facedancer/index.md) · 工具
- [Mirage 无线通信分析框架](https://awesomerea.org/zh/resources/mirage-wireless-framework/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
