Wireshark-USB-Filter: Das richtige Device finden mit USBPcap, usbmon und Bus Scope

So filtern Sie USB-Captures nach Device, Endpoint, Transfer-Typ, Setup-Paket, Interface und Timing, wenn USBPcap oder usbmon zu viel Traffic capturen.

Wireshark-USB-Filter, USBPcap, usbmon, USB-Capture, USB-Diagnose

USB-Captures können schnell überwältigend werden. Eine Maschine kann gleichzeitig eine Tastatur, Maus, Webcam, Bluetooth-Adapter, Storage-Device, Serial-Adapter, Security-Key und einen internen Hub aktiv haben. Wenn Nutzer nach "Wireshark USB filter", "USBPcap filter device", "usbmon filter endpoint" oder "how to find my USB device in capture" suchen, haben sie meist dasselbe Problem: "Der Capture enthält zu viel Traffic und nicht genug Struktur." Bus Scope ist gebaut, um USB-Inspektion direkter zu machen, aber das Verständnis des Filter-Problems ist trotzdem nützlich. Ob der Capture von USBPcap unter Windows, usbmon unter Linux oder einer anderen USB-Capture-Quelle kommt, der Schlüssel ist, das Device zu identifizieren und den Trace dann nach Adresse, Endpoint, Transfer-Typ und Control-Request einzuengen.

Mit Enumeration starten

Der einfachste Weg, ein USB-Device zu identifizieren, ist, ab dem Anstecken zu capturen. Enumeration enthält Deskriptoren, die das Device benennen: Vendor-ID, Product-ID, Konfigurationen, Interfaces, Endpoints und klassenspezifische Details.

Achten Sie auf:

  • Vendor-ID
  • Product-ID
  • Device-Deskriptor
  • Configuration-Deskriptor
  • Interface-Deskriptoren
  • Endpoint-Deskriptoren
  • String-Deskriptoren
  • SET_ADDRESS
  • SET_CONFIGURATION

Starten Sie den Capture, nachdem das Device bereits läuft, sehen Sie möglicherweise nur Endpoint-Traffic ohne Deskriptor-Kontext. Das macht Filterung schwerer, weil Endpoint-Nummern allein nicht reichen.

Device-Adresse kann sich ändern

USB-Device-Adressen werden vom Host während der Enumeration zugewiesen. Trennt sich das Device und reconnectet, kann sich die Adresse ändern. Ein Filter, der für die erste Verbindung funktioniert, kann die zweite verfehlen.

Das zählt beim Debuggen von Reset-Loops. Re-enumeriert ein Device wiederholt, müssen Sie möglicherweise mehrere Adressen in einem Capture verfolgen. Die Product/Vendor-Deskriptoren zeigen, dass diese Adressen zum selben physischen Device gehören.

Bus Scope hilft, diese Beziehung sichtbar zu halten, statt Sie zu zwingen, Adress-Wechsel mental zusammenzunähen.

Nach Endpoint filtern

Nach der Konfiguration nutzt der meiste Daten-Traffic Endpoints. Endpoint Null ist Control. Andere Endpoints können Bulk, Interrupt oder Isochronous sein.

Häufige Endpoint-Bedeutungen:

  • 0x00: Control-OUT auf Endpoint Null
  • 0x80: Control-IN auf Endpoint Null
  • 0x81: Endpoint 1 IN
  • 0x01: Endpoint 1 OUT
  • 0x82: Endpoint 2 IN
  • 0x02: Endpoint 2 OUT

Das Richtungs-Bit zählt. 0x81 und 0x01 sind nicht dieselbe Endpoint-Richtung. Ein Serial-Adapter nutzt zum Beispiel einen Bulk-OUT-Endpoint für Host-to-Device-Daten und einen Bulk-IN-Endpoint für Device-to-Host-Daten.

Endpoint-Filter sind nützlich, nachdem Sie bereits wissen, welcher Endpoint den Traffic trägt, der Sie interessiert.

Nach Transfer-Typ filtern

Verschiedene USB-Probleme leben in verschiedenen Transfer-Typen:

  • Control-Transfers: Deskriptoren, Konfiguration, Klassen-Requests, Vendor-Kommandos.
  • Bulk-Transfers: Storage, Serial-Daten, Vendor-Daten, viele Capture-Devices.
  • Interrupt-Transfers: HID-Input, Status-Notifications, Low-Latency-Reports.
  • Isochronous-Transfers: Audio, Video, zeitkritisches Streaming.

Öffnet sich ein USB-Serial-Device, sendet aber keine Daten, prüfen Sie Control-Transfers für Line-Coding und Control-Line-State, dann Bulk-Endpoints für Payload. Startet eine Webcam, aber Video ist korrupt, prüfen Sie Isochronous-Transfers und Alternate-Settings. Verhält sich ein HID-Device falsch, prüfen Sie Interrupt-Transfers und Report-Deskriptoren.

Filtern nach Transfer-Typ reduziert Rauschen und behält die relevante Klasse von Evidence.

Nach Setup-Paket filtern

Control-Transfers enthalten Setup-Pakete. Setup-Pakete sind extrem nützlich, weil sie Request-Richtung, Typ, Empfänger, Request-Code, Value, Index und Länge identifizieren.

Wichtige Beispiele:

  • GET_DESCRIPTOR
  • SET_ADDRESS
  • SET_CONFIGURATION
  • SET_INTERFACE
  • CLEAR_FEATURE
  • HID GET_REPORT
  • HID SET_REPORT
  • CDC SET_LINE_CODING
  • CDC SET_CONTROL_LINE_STATE
  • Vendor-Specific-Kommandos

Scheitert ein Device während des Setups, sagt das Setup-Paket oft genau, welcher Request das Problem ausgelöst hat.

USBPcap-Capture-Auswahl unter Windows

Unter Windows capturt USBPcap von USB-Host-Controllern. Hat eine Maschine mehrere Controller, kann die Wahl des falschen einen Capture ohne Target-Device-Traffic erzeugen.

Ein praktischer Workflow:

  1. Target-Device ausstecken.
  2. Capture auf wahrscheinlichem Controller starten.
  3. Device anstecken.
  4. Nach Enumeration-Deskriptoren suchen.
  5. Erscheint nichts, anderen Controller-Capture versuchen.
  6. Sobald das Device gefunden ist, Capture als Referenz behalten.

Bus Scopes Wert ist es, diesen Workflow weniger opak zu machen: Das Target ist die USB-Device-Konversation, nicht nur eine riesige Paket-Liste.

usbmon-Capture unter Linux

Unter Linux legt usbmon USB-Bus-Traffic offen. Die Bus-Nummer zählt. Ein als Bus 003 Device 012 gelistetes Device gehört in diesem Moment zu Bus 3. Nach Reconnect kann sich die Device-Nummer ändern.

Der nützlichste Capture startet vor dem Anstecken, weil die Enumeration die Device-Identität offenbart. Blockiert eine Berechtigung den Capture, lösen Sie das zuerst; sonst sehen Sie möglicherweise nur App-Level-Fehler und nie USB-Evidence.

Häufige Filter-Fehler

Vermeiden Sie diese Fehler:

  • erst nach dem Fehler filtern und die Enumeration verpassen.
  • annehmen, dass die Device-Adresse über Reconnects stabil ist.
  • Endpoint-Richtung verwechseln.
  • Endpoint-Null-Control-Traffic ignorieren.
  • nur auf Payload-Pakete schauen und Klassen-Requests verpassen.
  • alle Vendor-Specific-Requests als Rauschen behandeln.
  • Resets und Fehler zu früh rausfiltern.
  • Hub- und Port-Kontext ignorieren.

Ein sauberer Filter ist nur nützlich, wenn er den Fehler bewahrt.

Was in einem Untersuchungs-Capture zu behalten ist

Für einen Report, den Sie mit einem Firmware-, Treiber- oder QA-Team teilen können, behalten Sie:

  • die initiale Enumeration.
  • die Target-Device-Deskriptoren.
  • die vom Host gewählte Konfiguration und das Interface.
  • die Klassen- oder Vendor-Specific-Requests vor dem Fehler.
  • den Endpoint-Traffic, der in den Fehler verwickelt ist.
  • das Reset-, Stall-, Timeout- oder Disconnect-Event.
  • genug Timing-Kontext, um zu zeigen, ob der Fehler sofort, idle-bezogen oder last-bezogen ist.

Diese Evidence ist stärker als ein Screenshot von "device not recognized".

Enddiagnose

USB-Filterung bedeutet nicht nur, Rauschen zu verstecken. Sie bedeutet, die Paket-Sequenz zu bewahren, die den Fehler erklärt. Starten Sie mit Enumeration, identifizieren Sie das Device, folgen Sie Adress-Wechseln, engen Sie nach Endpoint und Transfer-Typ ein und halten Sie Control-Requests sichtbar.

Bus Scope soll diesen Workflow unterstützen: Finden Sie die echte USB-Konversation schnell und inspizieren Sie dann die Bus-Level-Evidence, die erklärt, warum das Device läuft, stalled, resettet oder verschwindet.

<!-- bus-scope-localized-transaction-foundation-v1:start -->

USB-Vertragsprüfung für „Wireshark-USB-Filter: Das richtige Device finden mit USBPcap, usbmon und Bus Scope“

Die direkte Antwort lautet: STALL, Timeout oder Reset erklärt die Ursache nicht allein. Beweisen Sie zuerst, dass der Capture-Provider das richtige Gerät sieht, und lesen Sie danach den Transfervertrag: Request-Typ, Richtung, Recipient, wValue, wIndex, angekündigte und tatsächliche Länge, Status sowie Zustand davor und danach. Verknüpfen Sie bei „Wireshark-USB-Filter: Das richtige Device finden mit USBPcap, usbmon und Bus Scope“ jede Aussage mit der ersten Transaktion, die von einem bekannten guten Lauf abweicht.

Grenze Zu vergleichen Belastbares Urteil
Plattform Provider, Rechte, Root Hub beziehungsweise usbmon/XHC20 Kommen Records von der richtigen Verbindung?
Setup bmRequestType, bRequest, wValue, wIndex, wLength Sendet der Host die beabsichtigte Anfrage?
Data Richtung, Länge und gespeicherte Bytes Entspricht die Payload dem Vertrag?
Status ACK, STALL, Timeout oder Cancellation Wo endet die Transaktion tatsächlich?
Zustand Configuration, Interface, Alternate Setting, Endpoint Halt War das Gerät für die Anfrage bereit?

Starten Sie vor Reset und Enumeration und behalten Sie Descriptoren, SET_CONFIGURATION, SET_INTERFACE und den Befehl vor dem Fehler. Ein enger Endpoint-Filter kann genau den Control Transfer verstecken, der das spätere Symptom erklärt. Führen Sie pro Versuch eine dokumentierte USB-Aktion aus und ändern Sie nur Firmware, Treiber, Port, Kabel, Hostbefehl oder Timing.

Wie sieht eine zitierfähige Antwort aus?

Nennen Sie angekommenen Request, konkrete Setup-Felder, Geräteantwort und vorherigen Zustand; danach folgt ein Test mit genau einer Änderung. Nicht gespeicherte Bytes durch Retention sind kein bewiesener Packet Loss. Zeitliche Nähe zwischen Command und Reset belegt Korrelation, nicht ohne Wiederholung oder Zustandsübergang die Ursache.

Wann ist ein Vergleich gültig?

Halten Sie VID/PID, Firmware, Speed, Topologie, Provider, Filter und Trigger möglichst gleich. Vergleichen Sie semantische USB-Phasen statt Frame-Nummern zwischen usbmon und USBPcap. Notieren Sie Start, Ende, Version, OS, Anschluss und Dateiprüfsumme. Nutzen Sie vor der Übergabe die Bus-Scope-Fehlersuche.

Semrush-Eigentümer bleiben getrennt: free USB analyzer gehört zur Produktseite, best USB protocol analyzer zur Vergleichsseite und USB descriptor viewer zum Descriptor-Guide. Diese Supportseite erhält keine erfundene Suchmenge oder KD.

<!-- bus-scope-localized-transaction-foundation-v1:end --><!-- multilingual-blog-closeout:start -->

Direkte Antwort und Abnahmegrenze

Die kurze Antwort zu „Wireshark-USB-Filter: Das richtige Device finden mit USBPcap, usbmon und Bus Scope“ lautet: So filtern Sie USB-Captures nach Device, Endpoint, Transfer-Typ, Setup-Paket, Interface und Timing, wenn USBPcap oder usbmon zu viel Traffic capturen. Behandeln Sie diese Aussage als zu prüfendes Ergebnis und nicht als Versprechen für jede Eingabe, jedes Gerät, jedes Projekt oder jede Umgebung. Ein vollständiges Ergebnis dokumentiert Ausgangszustand, exakte Aktion, sichtbare Ausgabe und die Bedingung, die den Abschluss in Bus Scope belegt.

Evidenzorientiertes Vorgehen

Beginnen Sie mit einem kleinen, wiederholbaren Fall, bevor Sie ein vollständiges Projekt verändern. Protokollieren Sie Anwendungsversion, Betriebssystem, Eingabe- oder Geräteidentität, relevante Einstellungen und erwartetes Ergebnis. Führen Sie eine bewusste Aktion aus, bewahren Sie den ersten unerwarteten Übergang und vergleichen Sie möglichst mit einem bekannten guten Lauf. Mehrere gleichzeitige Änderungen verdecken, welche Bedingung den Fehler erzeugt oder behoben hat.

Prüfpunkt 1: Wireshark-USB-Filter: Das richtige Device finden mit USBPcap, usbmon und Bus Scope

Ist „Wireshark-USB-Filter: Das richtige Device finden mit USBPcap, usbmon und Bus Scope“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.

Prüfpunkt 2: So filtern Sie USB-Captures nach Device, Endpoint, Transfer-Typ, Setup-Paket, Interface un

Prüfen Sie „So filtern Sie USB-Captures nach Device, Endpoint, Transfer-Typ, Setup-Paket, Interface und Timing, wenn USBPcap oder usbmon zu viel Traffic capturen.“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.

Prüfpunkt 3: Mit Enumeration starten

Ist „Mit Enumeration starten“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.

Prüfpunkt 4: Device-Adresse kann sich ändern

Prüfen Sie „Device-Adresse kann sich ändern“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.

Prüfpunkt 5: Nach Endpoint filtern

Ist „Nach Endpoint filtern“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.

Prüfpunkt 6: Nach Transfer-Typ filtern

Prüfen Sie „Nach Transfer-Typ filtern“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.

Prüfpunkt 7: Nach Setup-Paket filtern

Ist „Nach Setup-Paket filtern“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.

Prüfpunkt 8: USBPcap-Capture-Auswahl unter Windows

Prüfen Sie „USBPcap-Capture-Auswahl unter Windows“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.

Prüfpunkt 9: usbmon-Capture unter Linux

Ist „usbmon-Capture unter Linux“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.

Prüfpunkt 10: Häufige Filter-Fehler

Prüfen Sie „Häufige Filter-Fehler“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.

Abnahmematrix

Prüfpunkt Aufzubewahrender Nachweis Passkriterium
Wireshark-USB-Filter: Das richtige Device finden mit USBPcap, usbmon und Bus Scope Ausgangszustand, eine Aktion und Ergebniszustand Eine zweite Person kann das Ergebnis reproduzieren
So filtern Sie USB-Captures nach Device, Endpoint, Transfer-Typ, Setup-Paket, Interface und Timing, wenn USBPcap oder us Ausgangszustand, eine Aktion und Ergebniszustand Eine zweite Person kann das Ergebnis reproduzieren
Mit Enumeration starten Ausgangszustand, eine Aktion und Ergebniszustand Eine zweite Person kann das Ergebnis reproduzieren
Device-Adresse kann sich ändern Ausgangszustand, eine Aktion und Ergebniszustand Eine zweite Person kann das Ergebnis reproduzieren
Nach Endpoint filtern Ausgangszustand, eine Aktion und Ergebniszustand Eine zweite Person kann das Ergebnis reproduzieren
Nach Transfer-Typ filtern Ausgangszustand, eine Aktion und Ergebniszustand Eine zweite Person kann das Ergebnis reproduzieren

Fehlerisolierung, Recovery und Übergabe

Stoppen Sie beim ersten fehlerhaften Übergang. Bewahren Sie Quelle, Projekt, Session oder Capture und erstellen Sie vor destruktiven Änderungen eine Kopie. Ändern Sie pro Experiment nur eine Variable. Ein kompletter erneuter Lauf nach mehreren Änderungen kann anders enden, ohne die Ursache zu erklären.

Unterscheiden Sie fehlende Evidenz von Evidenz für ein Fehlen. Eine leere Ansicht kann auf falsche Eingabe, Scope, Filter, Berechtigung, Gerät, Zeitbereich oder Projektzustand hinweisen. Beweisen Sie Aufnahme oder Import, bevor Sie Decoder, Editor, Bericht oder Export interpretieren.

Öffnen Sie vor der Übergabe das dauerhafte Artefakt erneut und prüfen Sie Anfang, Entscheidungsstelle und Ende. Dokumentieren Sie Version, Plattform, Konfiguration, Erwartung, Beobachtung und kleinste Reproduktion. Entfernen oder schwärzen Sie sensible Daten und prüfen Sie die Berechtigung des Empfängers.

Fragen und Antworten

Wie beginnt man am schnellsten zuverlässig?

Verwenden Sie den kleinsten repräsentativen Fall, notieren Sie das erwartete Ergebnis und ändern Sie nur eine Variable. Beweisen Sie den Grundpfad, bevor Filter, Effekte, Bearbeitungen, Automatisierung oder größere Quellen hinzukommen.

Welche Evidenz sollte gespeichert werden?

Bewahren Sie Eingabeidentität, Version, Plattform, Einstellungen, exakte Aktion, ersten unerwarteten Übergang und Endausgabe. Projekt, Session, Bericht oder Export müssen geschlossen und erneut geöffnet werden.

Wann sollte das Verfahren wiederholt werden?

Wiederholen Sie es nach relevanten Änderungen an Anwendung, Betriebssystem, Treiber, Firmware, Modell, Quelle oder Workflow. Behalten Sie den früher akzeptierten Fall als unveränderte Vergleichsbasis.

Wann ist die Aufgabe übergabefähig?

Wenn eine autorisierte zweite Person Eingabe und Aktion erkennt, dasselbe Ergebnis reproduziert, verbleibende Grenzen versteht und das gespeicherte Artefakt ohne undokumentierten lokalen Zustand öffnen kann.

Verwandte Anleitungen

Diese gleichsprachigen Seiten decken angrenzende Schritte ab, ohne den kanonischen Eigentümer dieses Themas zu verändern:

<!-- multilingual-blog-closeout:end -->