Einen ersten Hinweis liefert schon das Kommandozeilen-Utility "lsusb", das zumindest verrät, welche Devices unter welcher Adresse mit dem Bus verbunden sind und zu welcher Klasse sie gehören. Aber ob die Verständigung mit einem solchen Device auch funktioniert, verrät es nicht. Unter Linux ab Kernel 2.6.21 gibt es aber eine sehr bequeme Antwort auf diese Frage.
Nötig dafür sind das Kernelmodul usbmon, das ab Kernelversion 2.6.11 zum Standard gehört, die Bibliothek libcap mindestens in der Version 1.0.0 und das bekannte Sniffertool Wireshark, das für eine ansprechende Formatierung sorgt und auch das Filtern beispielsweise nach einer USB-Device-Adresse ermöglicht. In der Device-Liste von Wireshark tauchen neben den Netzwerkinterfaces nun auch die USB-Busse auf und lassen sich genauso wie eth0 oder wlan0 anwählen. Dazu ermittelt man erst mittels lsub die Nummer des Busses, mit dem das zu untersuchende Gerät verbunden ist, und selektiert dann in Wireshark das entsprechende USB-Bus-Device.
Im Unterschied zum Mitlesen auf dem Ethernet muss man Wireshark zum USB-Debugging nicht mal als Root gestartet haben. Im Anschluss erscheint aller Traffic des gewählten Busses dekodiert im Wireshark-Hauptfenster, wo er sich exakt inspizieren lässt (siehe Abbildung).