Answers:
您可以使用Wireshark捕获USB流量。
从它的维基:
要在Linux上转储USB流量,您需要
usbmon
自Linux 2.6.11起就存在的模块。/usr/src/linux/Documentation/usb/usbmon.txt
Linux源代码树中提供了有关该模块的信息。根据您使用的发行版以及发行版的版本,该模块可能内置在内核中,或者可能是可加载的模块。如果它是一个可加载的模块,则取决于您使用的发行版以及该版本的版本,它可能会为您加载,也可能不会为您加载。如果它是可加载模块,但未加载,则必须使用以下命令加载它
modprobe usbmon
必须以root身份运行。
libpcap 1.0之前的版本不包括USB支持,因此您至少 需要libpcap 1.0.0。
对于2.6.21之前的内核版本,唯一可用的USB流量捕获机制是基于文本的机制,该机制将每个原始USB块捕获的数据总量限制为大约30个字节。如果不修补内核,则无法更改它。如果debugfs尚未安装在上
/sys/kernel/debug
,请通过以root用户身份发出以下命令来确保将其安装在该位置:
mount -t debugfs / /sys/kernel/debug
对于2.6.21版及更高版本的内核,有一个二进制协议可用于跟踪USB数据包,但没有大小限制。对于该内核版本,您将需要libpcap 1.1.0或更高版本,因为libpcap 1.0.x USB支持使用但不能正确处理USB流量的内存映射机制,libpcap将使用该机制(如果可用)-使其不可用,因此libpcap将始终使用它。
在libpcap 1.0.x中,用于在USB上捕获的设备的名称为usbn,其中n是总线号。在libpcap 1.1.0和更高版本中,它们的名称为usbmonn。
您还需要Wireshark 1.2.x或更高版本。