目前我正在使用 usbmon 来嗅探 USB。为了更好地理解我想使用wireshark。我以前使用过wireshark 来嗅探以太网数据包。但是要捕获什么来嗅探 USB 数据包?我的意思是我需要首先选择要在wireshark中捕获的接口。但是我会为 USB 选择什么?
4 回答
获取最新的wireshark。在设备中的插件之前和之后使用 lsusb ,这样您就知道它插入了哪个 USB 总线。
输入终端:
su -c "modprobe usbmon" && su -c "wireshark"
(首先加载内核模块,允许对root进行usb嗅探,第二次加载wireshark作为root)
比 select usbmonX
,其中X
代表 USB 总线编号(lsusb
显示这些数字)。
之后,您仍然需要过滤设备/供应商 ID 或其他特定设备的数据包,因为wireshark 将显示来自插入该总线的所有设备的所有数据包。(再次lsusb
插入设备之前/之后会有所帮助)。
您是否查看过 Wireshark 网站上的相关文档?
在 libpcap 1.0.x 中,用于在 USB 上捕获的设备的名称为 usbn,其中 n 是总线编号。在 libpcap 1.1.0 及更高版本中,它们的名称为 usbmonn。
一个快速的通知,因为我刚开始使用wireshark 来嗅探Linux 上的usb 数据包。据我了解,您需要加载 usbmon 模块(如果您正在使用它应该是)。此外,我似乎记得,虽然可以设置 wireshark 让非 root 用户嗅探以太网数据包,但某些限制需要对 usb 包进行 root 访问(至少在编写时)。与其他人所说的类似,在我的系统 Ubuntu 12.10 上,USB 接口的名称如“usbmon1 USB bus number 1”等等。(您可以查看 http://biot.com/blog/usb-sniffing-on-linux)列出的链接有一个显示过滤器的图像,该过滤器可用于仅选择来自设备号的流量(来自 lsusb)。
我希望这有帮助
@przemo_li 您想按设备地址过滤以查看来自主机和设备的通信。过滤器是usb.device_address ==
.