Wie man Filter in Wireshark verwendet

Wireshark ist eine Free and Open Source Software (FOSS) und wird von einer Gemeinschaft begeisterter Entwickler entwickelt. Wireshark (früher Ethereal) wird zum Erfassen und Untersuchen des Datenverkehrs in einem Netzwerk verwendet. Mit Wireshark kannst du sehen, was in deinem Netzwerk vor sich geht: Du kannst sehen, woher der Datenverkehr kommt und wohin er geht. Wenn du in einer Produktionsumgebung arbeitest, wirst du eine Menge Datenverkehr haben. Ohne die Filterfunktionen von Wiresharks ist es sehr mühsam, diesen Datenverkehr zu untersuchen. Mit den Filtern kannst du genau die Art von Datenverkehr sehen, die du haben willst, und alles andere wird aus der Szene entfernt.

Was werden wir behandeln?

In diesem Leitfaden werden wir herausfinden, wie man Filter in Wireshark erstellt und effizient anwendet. Lass uns jetzt loslegen.

Einführung in Wireshark-Filter

Bei Wireshark-Filtern geht es darum, deine Paketsuche zu vereinfachen. Wenn du z.B. nur den TCP-Verkehr oder Pakete von einer bestimmten IP-Adresse sehen willst, musst du die richtigen Filter in der Filterleiste anwenden. Wireshark versteht keine einfachen Sätze wie „filtere den TCP-Verkehr heraus“ oder „zeige mir den Verkehr von Ziel X“. Du musst also eine ausgeklügelte Syntax und Regeln für die Anwendung dieser Filter lernen.

Es gibt grundsätzlich zwei Arten von Filtern in Wireshark: Aufzeichnungsfilter und Anzeigefilter. Sie unterscheiden sich in ihrer Syntax und in der Art, wie sie angewendet werden.

Aufzeichnungsfilter werden vor dem Beginn der Aufzeichnung angewendet. Auf diese Weise wird nur der Datenverkehr gespeichert, den du sehen möchtest. Dieser Filter kann nach dem Start des Aufzeichnungsvorgangs nicht mehr geändert werden. Anzeigefilter hingegen werden auf alle aufgezeichneten Pakete angewendet. Er kann später aufgehoben und geändert werden (er kann angewendet werden, während ein Capture läuft).

Beim Anzeigefilter wird das Capture tatsächlich in einem Trace-Buffer gespeichert. Er blendet also nur den Datenverkehr aus, der dich nicht interessiert, und zeigt nur den an, für den du dich interessierst.

Einen Capture-Filter schreiben

Beginnen wir zunächst mit dem Capture-Filter. Du findest den Capture-Filter auf dem allerersten Bildschirm, nachdem du Wireshark gestartet hast:

Erfassungsfilter
Der Filter wird auf die ausgewählte Schnittstelle angewendet. Eine andere Möglichkeit ist, das Menü Capture zu verwenden und das Untermenü Optionen auszuwählen (1).

Menü "Erfassen

Alternativ kannst du auch auf das Zahnradsymbol (2) klicken. In beiden Fällen erscheint das folgende Fenster:

Aufnehmen Menü Optionen
In das Textfeld mit der Aufschrift „Geben Sie einen Erfassungsfilter ein“ können wir unseren ersten Erfassungsfilter schreiben. Du kannst aber auch das Lesezeichen-Symbol benutzen, um die vorgefertigten Filter zu verwenden.

Erfassungsfilter werden im libpcap-Filterformat geschrieben. Sie bestehen aus einer Folge von primitiven Ausdrücken. Diese Ausdrücke werden durch Konjunktionen (und/oder) verbunden und können mit einem „not“ beginnen. Hier ist die Syntax:

[not] primitive [and|or [not] primitive ...]

Zur Veranschaulichung: Nehmen wir an, wir wollen den UDP-Verkehr vom oder zum Host 192.168.18.161 aufzeichnen. Der Capture-Filterausdruck lautet in diesem Fall:

udp und host 192.168.18.161

Capture Expression Menu
Einige der Primitive, die im obigen Ausdruck verwendet werden können, sind:

  1. [src|dst] host <host>: Wird für die Filterung nach einer Host-IP-Adresse oder einem Namen verwendet. Es kann src|dst vorangestellt werden, um die Quell- oder Zieladresse zu identifizieren.
  2. ether [src|dst] host <ehost>: Wird für die Filterung von Ethernet-Hostadressen verwendet. Es kann auch src|dst vorangestellt werden, um die Quell- oder Zieladresse zu identifizieren.
  3. gateway host <host>: Wird zum Filtern von Paketen verwendet, die host als Gateway verwendet haben.
  4. [src|dst] net <net> [{mask <mask>}|{len <len>}]: Wird für die Filterung nach Netzwerknummern verwendet. Es kann auch src|dst vorangestellt werden, um die Quell- oder Zieladresse zu identifizieren.
  5. [tcp|udp] [src|dst] port <port>: Wird für die Filterung nach TCP- und UDP-Portnummern verwendet.

Alle Primitive für den obigen Ausdruck findest du in der Liste hier.

Einen Anzeigefilter schreiben

Um einen Display-Filter zu schreiben, brauchst du vor allem die Kenntnis der booleschen Operatoren. Ja, du hast recht, wir sprechen von den grundlegenden Operationen AND, OR und NOT. Mit ihnen können wir auch mehrere Filterabfragen zu einer einzigen kombinieren. Wenn wir zum Beispiel nach TCP-Verkehr und Paketen suchen, die den Port 80 benutzen, können wir den Filter wie folgt schreiben:

tcp und tcp.port == 80

Eine andere Möglichkeit ist, den Ausdruck zu verwenden:

tcp && tcp.port == 80

Filter anzeigen

Im Folgenden haben wir häufig verwendete boolesche Ausdrücke in Display-Filtern aufgelistet:

1. == oder eq (Gleichheitsoperation)

2. && oder and (Und-Operation)

3. || (doppelte Pipe) oder oder (Oder-Operation)

Fazit

In diesem Leitfaden haben wir gelernt, wie man Filter in der Wireshark-Software verwendet. Wir empfehlen dir, Wireshark-Filter durch praktische Übungen zu erkunden. Auf diese Weise kannst du dieses Tool besser verstehen. Wenn du mehr über Wireshark erfahren möchtest, besuche die offizielle Website von Wireshark unter https://www.wireshark.org.

Das könnte dich auch interessieren …