如何在Windows下嗅探USB端口?

53

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

对于USB流量,看起来SniffUsb是最好的选择......它适用于Windows XP(但不适用于之后的版本),并且具有比早期版本更优秀的GUI。它生成的转储文件非常大,但所有内容都在其中。

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


11
那么这是一个问题吗? - GEOCHET
1
我想这曾经是一个问题,但用户自己回答了它,并将答案编辑到问题中,而不是将其作为答案提交。(噫!) - Charles Duffy
2
Portmon是Windows 3.2左右的版本,不支持64位系统。SniffUSB在Windows Vista或7上不受支持。 - Mike DeSimone
@Mike:也许在这种情况下,Procmon会有用处? - SamB
1
我最终使用了VMWare的USB记录器和Virtual USB Analyzer,因为我已经在虚拟机中安装了Windows。 - Mike DeSimone
显示剩余3条评论
6个回答

19

14
  1. 许多人未意识到,Wireshark可以监控USB流量并对其进行解析;但问题是它只能在Linux系统下运行。在Windows上运行的Wireshark无法实现此功能。

  2. 你可以尝试将要监控的USB设备和一个运行Wireshark的Linux机器一起插入到Windows机器上,并在Windows下使用USB设备。

  3. 上述方法存在问题吗?不确定Linux机器和Windows机器如何相互检测。


7
USB使用星型拓扑结构,每个总线只能有一个主机。我不知道你如何将Linux计算机连接到由Windows托管的总线,即使连接成功,它也看不到发送给其他设备的流量(除非Linux计算机是一个集线器)。 - Ben Voigt
7
Wireshark现在也可以在Windows机器上嗅探USB数据。 - TafT

7
Busdog是一个开源项目,托管在GitHub上,对于我来说表现得很棒。它有一个驱动程序,可以安装以允许它监视USB通信。配置窗口允许您随时重新安装或删除设备。
您可以从枚举列表中选择要使用的USB设备。一个好的功能是它自动跟踪插入的新设备: Enumerated USB devices 我正在进行反向工程的SWR分析仪的数据通信被无缺捕获: USB-to-serial port communications captured

在一次快速测试中,BusDog不幸地阻止了一个应用程序访问USB设备,因此BusDog无法嗅探到任何流量。 - pmdj

6

USBSnoop也可以使用,而且是免费的。

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


1
如果您查看SniffUsb的URL,它包含USBSnoop,因为它是基于它的 :-) - dpavlin
4
一个网络嗅探器和一个USB以太网转换器只能嗅探以太网。由于它不转换原始的USB,因此它无法让你看到单独的USB数据包,这是像usbsnoop这样的工具可以提供的内容。 - Andrew Edgecombe

3

4
在Linux下,您可以使用Wireshark,无需对代码或任何复杂的东西进行分析。但请阅读完整个问题。 - gbjbaanb
2
Wireshark何时嗅探USB?我们不是在谈论以太网。我知道提问者正在询问USB串行,但由于主题涉及USB嗅探,找到这个问题的人们将期望得到适合整体主题的答案。 - Charles Duffy
谢谢,作为下一步,我可能会尝试在qemu或kvm下运行它。 - dpavlin
1
Wireshark 1.10.0rc1及以上版本支持USBPcap(检测现有安装或允许安装)。请参阅jamkomo的高评分未被接受的答案,并查看后续评论,说明Wireshark现在可以在Windows上执行此操作。您可能需要卸载现有版本--请参见https://osqa-ask.wireshark.org/questions/48789/usbpcap-tutorial。 - Poikilos
多年以后,我对如何使用 QEMUDocker 感兴趣,你能给我一些开始的地方吗? - Mohammed Noureldin
@MohammedNoureldin,你不能使用Docker来完成这个任务——必须使用qemu。Docker不是虚拟化或仿真,只是一堆命名空间;它不提供任何钩子来嗅探硬件的行为,你在主机上直接运行软件时也无法获得这些信息。 - Charles Duffy

2
微软信息分析器能够使用MS的“设备和日志文件”解析器捕获USB流量:链接 更新:正如@facetus所提到的,微软信息分析器已于2019年11月25日退役

2
它已于2019年11月25日被停用,Microsoft没有提供替代品。Microsoft已删除所有下载链接。如果您在2019年11月25日之后启动已安装的MMA,则会出现错误消息。 - facetus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接