Ich habe den udp
Filter angewendet , um nur den UDP-Verkehr zu erfassen, wie im Wireshark Wiki beschrieben :
Nur den UDP-basierten Verkehr anzeigen:
udp
Dies zeigt jedoch nicht nur UDP-Verkehr. Es zeigt den UDP-Verkehr und alles, was auf UDP aufbaut.
Da ich nur unseren eigenen UDP-Verkehr analysieren möchte und noch keinen Dissektor implementiert habe, suche ich nach einer Möglichkeit, nur UDP-Verkehr anzuzeigen, der nicht als ein anderes Protokoll identifiziert werden kann.
Ich möchte vermeiden, eine Liste von auszuschließenden Protokollen hinzuzufügen, z. B. die lange Liste anderer Protokolle in meinem Filter zu vermeiden:
udp && !http && !dhcpv6 && !bootp && !smb && !cldap && !mdns && !llmnr
Wie kann ich nur UDP-Verkehr erfassen, der nicht als anderes Protokoll identifiziert werden kann?
networking
ip
wireshark
udp
Thomas Weller
quelle
quelle
Antworten:
Beachten Sie zunächst, dass Sie mit den Anzeigefiltern von Wireshark arbeiten, die sich von den Erfassungsfiltern von libpcap unterscheiden. (libpcap selbst hat einen
udp
Filter, versteht aber nur sehr wenige Protokolle. Sie erfassen also alles, filtern aber die angezeigte Liste.)In Wireshark enthält der Abschnitt "Frame" verschiedene Metadaten zum zerlegten Paket, zum Beispiel:
Dies entspricht dem
frame.protocols
Feld. Wenden Sie jetzt eine Regex- Übereinstimmung mit~
oder anmatches
:Dies stimmt mit allen Paketen überein, bei denen das letzte erkannte Protokoll UDP war (dh
frame.protocols
mit dem Text endet:udp
). Seien Sie vorsichtig - ein Teil des Datenverkehrs wird möglicherweise als obskures Protokoll falsch erkannt, obwohl dies nicht der Fall ist.(Das
udp &&
Präfix ist eine Optimierung. Eine Protokollübereinstimmung ist möglicherweise effizienter, um Nicht-UDP-Datenverkehr zu verwerfen, als eine String-Regex-Übereinstimmung.)quelle
frame.protocols ~ ":udp:data$"
- vielleicht ist das neu in Wireshark 2.0