46

有时,我需要在 Windows 下转储 USB 流量,主要是为了支持 Linux 下的硬件,所以我的主要目标是生成转储文件用于协议分析。

对于 USB 流量,SniffUsb似乎是明显的赢家……它在 Windows XP 下工作(但不是更高版本),并且具有比早期版本更好的 GUI。它会产生巨大的转储文件,但一切都在那里。

然而,我的设备实际上是一个 USB 串行设备,所以我求助于Portmon,它可以在没有 USB 开销的情况下嗅探串行端口流量。

4

6 回答 6

15

经过五年的等待,现在可以在 Windows 上嗅探 USB 数据包

有关快速浏览,请参见http://desowin.org/usbpcap/tour.html。它工作得很好

于 2014-09-12T05:02:09.320 回答
14
  1. 由于人们似乎没有意识到这一点,Wireshark确实监控 USB 流量并有一个解析器。但问题是它只适用于 Linux。Windows 上的 Wireshark 不会这样做。

  2. 可以插入您要监控的 USB 设备、Linux 机器(运行 Wireshark)和您的 Windows 机器,然后在 Windows 下使用 USB 设备。

  3. 以上有问题吗?我不知道Linux机器或Windows机器如何相互检测。

于 2011-02-19T23:31:01.893 回答
7

Busdog 是一个托管在 github 上的开源项目,对我来说效果很好。它安装了一个驱动程序以允许它监视 USB 通信。配置窗口允许您随时重新安装或删除设备。

您可以从枚举列表中选择所需的 USB 设备。一个不错的功能是让它自动跟踪插入的新设备:

枚举的 USB 设备

与我进行逆向工程的 SWR 分析仪之间的数据通信被完美地捕获:

捕获的 USB 到串行端口通信

于 2017-08-31T21:59:23.637 回答
6

USBSnoop也可以工作——而且是免费的。

或者,您可以购买USB 转以太网转换器并使用您喜欢的任何网络嗅探器来查看数据。

于 2008-09-22T21:48:14.950 回答
3

就个人而言,我会使用QEMUKVM并检测他们的 USB 直通代码,然后使用libusb在用户空间中对替换驱动程序进行原型设计(我以前做过后一点;用 Python 编写 USB 设备驱动程序很有趣!)。

于 2008-09-22T21:46:12.020 回答
2

Microsoft Message Analyzer 能够使用Device and Log FileMS 的解析器捕获 USB 流量:链接

更新:正如@facetus 所述,MS Message Analyzer已于 2019 年 11 月 25 日停用。

于 2019-07-19T09:30:22.780 回答