如何在Windows下嗅探USB端口?

dpa*_*lin 37 windows usb usbserial sniffing

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

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

但是,我的设备实际上是一个USB串行设备,所以我转向Portmon,它可以在没有USB开销的情况下嗅探串口流量.

小智 13

  1. 由于人们似乎没有意识到这一点,Wireshark确实监控USB流量并且有一个解析器; 但问题是它只适用于Linux.Windows上的Wireshark不会这样做.

  2. 可以插入要监视的USB设备,以及Linux机器(运行Wireshark)和Windows机器,只需使用Windows下的USB设备即可.

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

  • USB使用星型拓扑,每个总线有一个主机,我不知道你希望如何将Linux机箱连接到Windows托管的总线,即使你这样做,它也不会看到流量转到其他设备上(除非linux盒子是一个集线器). (7认同)
  • Wireshark现在也可以在Windows机器上嗅探USB数据. (5认同)

alb*_*fan 9

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

请访问http://desowin.org/usbpcap/tour.html进行快速浏览.它工作得很好


gbj*_*anb 5

USBSnoop也适用 - 而且是免费的.

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

  • 网络嗅探器和usb-ethernet转换器只会嗅探以太网.因为它没有转换原始的usb,所以它不会让你看到像usbsnoop这样的工具将提供的单个usb数据包. (4认同)

Kur*_*ner 5

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

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

枚举的 USB 设备

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

捕获到 USB 到串行端口的通信


Cha*_*ffy 3

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

  • 在 Linux 下,您可以使用 Wireshark,无需分析代码或任何如此复杂的东西。但是请读到问题的结尾。 (4认同)
  • Wireshark什么时候嗅探USB?我们这里讨论的不是以太网。我知道提问者正在询问有关 USB 串行的问题,但由于该主题一般询问有关 USB 嗅探的问题,因此发现此问题的人会期望得到适合整个主题的答案。 (2认同)