ADMIN-Tipp: USB-Debugging mit Linux

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Hin und wieder interessiert, was auf dem USB-Bus geschieht. Wird ein angestecktes Gerät erkannt? Kann es mit dem Betriebssystem kommunizieren? Kommt es dabei zu Fehlern? Linux bietet Tools fürs Debugging der USB-Kommunikation.

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).

29.02.2012

Ähnliche Artikel

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019