Sie können den USB-Datenverkehr mit Wireshark erfassen.
Aus seinem Wiki:
Um den USB-Verkehr unter Linux zu dumpen, benötigen Sie den usbmon
-Modul, das seit Linux 2.6.11 existiert . Informationen zu diesem Modul finden Sie unter /usr/src/linux/Documentation/usb/usbmon.txt
im Linux-Quellbaum. Abhängig von der von Ihnen verwendeten Distribution und der Version dieser Distribution kann dieses Modul in den Kernel eingebaut oder ein ladbares Modul sein; Wenn es sich um ein ladbares Modul handelt, kann es je nach verwendeter Distribution und Version dieser Distribution für Sie geladen werden oder nicht. Wenn es sich um ein ladbares und nicht geladenes Modul handelt, müssen Sie es mit dem Befehl
modprobe usbmon
die als root ausgeführt werden muss.
libpcap-Releases vor 1.0 enthalten keine USB-Unterstützung, daher benötigen Sie mindestens libpcap 1.0.0 .
Für Versionen des Kernels vor 2.6.21 , ist der einzige verfügbare USB-Verkehrserfassungsmechanismus ein textbasierter Mechanismus, der die Gesamtmenge der für jeden USB-Rohdatenblock erfassten Daten auf etwa 30 Byte begrenzt. Es gibt keine Möglichkeit, dies zu ändern, ohne den Kernel zu patchen. Wenn debugfs nicht bereits auf /sys/kernel/debug
gemountet ist , stellen Sie sicher, dass es dort gemountet ist, indem Sie den folgenden Befehl als root ausführen:
mount -t debugfs / /sys/kernel/debug
Für Kernel-Version 2.6.21 und höher , gibt es ein binäres Protokoll zum Verfolgen von USB-Paketen, das diese Größenbeschränkung nicht hat. Für diese Kernel-Version benötigen Sie libpcap 1.1.0 oder neuer , da die USB-Unterstützung von libpcap 1.0.x den speicherabgebildeten Mechanismus für den USB-Datenverkehr verwendet, aber nicht richtig handhabt, den libpcap verwenden wird, falls verfügbar - er kann nicht deaktiviert werden, also wird libpcap ihn immer verwenden.
In libpcap 1.0.x haben die Geräte zum Aufnehmen auf USB den Namen usbn
, wobei n ist die Nummer des Busses. In libpcap 1.1.0 und höher haben sie den Namen usbmonn
.
Sie benötigen außerdem Wireshark 1.2.x oder neuer .