Erfassungsfilter in Tshark anwenden

WiresharkWiresharkBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie die Capture-Filter von Tshark verwenden, um Netzwerkpakete selektiv aufzunehmen. Sie werden die Filter-Syntax von Wireshark erkunden und üben, TCP-Verkehr auf bestimmten Schnittstellen mit Befehlen wie tshark -f "tcp" aufzunehmen.

Durch praktische Übungen filtern Sie TCP-Pakete auf eth1, analysieren Paketdetails und speichern die Ergebnisse in tcp.pcap. Dieses Lab bietet praktische Erfahrungen bei der Anwendung von Capture-Filtern, um gezielten Netzwerkverkehr effizient zu isolieren und zu untersuchen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/capture_filters("Capture Filters") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/packet_capture -.-> lab-548914{{"Erfassungsfilter in Tshark anwenden"}} wireshark/capture_filters -.-> lab-548914{{"Erfassungsfilter in Tshark anwenden"}} wireshark/packet_analysis -.-> lab-548914{{"Erfassungsfilter in Tshark anwenden"}} wireshark/commandline_usage -.-> lab-548914{{"Erfassungsfilter in Tshark anwenden"}} end

Erlernen der Syntax mit der Handbuchreferenz

In diesem Schritt lernen Sie die Grundlegende Syntax von Wireshark-Capture-Filtern, indem Sie die Handbuchseite konsultieren. Das Verständnis dieser Grundlagen ist entscheidend, bevor Sie tatsächliche Paketaufnahmen durchführen, da Filter es Ihnen ermöglichen, nur den Netzwerkverkehr aufzunehmen, der Sie interessiert.

  1. Öffnen Sie zunächst das Terminal in Ihrer LabEx-VM, wenn es noch nicht geöffnet ist. Das Standard-Arbeitsverzeichnis ist ~/project. Hier werden wir alle unsere Befehle ausführen.

  2. Um auf die umfassende Wireshark-Filterdokumentation zuzugreifen, führen Sie den folgenden Befehl in Ihrem Terminal aus:

man wireshark-filter

Diese Handbuchseite enthält alle offiziellen Informationen zur Syntax und den Funktionen von Capture-Filtern. Stellen Sie sich sie als Ihre Cheat-Sheet für die Erstellung effektiver Filter vor.

  1. Wenn Sie durch das Handbuch scrollen (drücken Sie Enter, um zu navigieren), konzentrieren Sie sich auf diese Schlüsselabschnitte, die die Grundlage für Capture-Filter bilden:

    • Grundlegende Filter-Syntaxstruktur: Wie Sie Ihre Filterausdrücke richtig formatieren
    • Häufige Protokollfilter: Vordefinierte Filter für Protokolle wie TCP, UDP, HTTP
    • Vergleichsoperatoren: Wie Sie Werte in Ihren Filtern vergleichen
    • Logische Operatoren: Kombinieren von Bedingungen mit und, oder, nicht
  2. Jetzt wenden wir das, was Sie gelernt haben, an einem praktischen Beispiel an. Führen Sie diesen Befehl aus, um einen einfachen TCP-Filter zu testen:

tshark -f "tcp" -c 5

Dieser Befehl macht drei Dinge:

  • -f "tcp" wendet einen Filter an, um nur TCP-Pakete aufzunehmen
  • -c 5 begrenzt die Aufnahme auf 5 Pakete
  • Die Ergebnisse werden direkt in Ihrem Terminal angezeigt
  1. Wenn es Netzwerkverkehr gibt, sehen Sie eine Ausgabe ähnlich dieser, die die Details jedes aufgezeichneten TCP-Pakets zeigt:
1 0.000000 192.168.1.1 → 192.168.1.2 TCP 74 443 → 49234 [SYN] Seq=0 Win=64240 Len=0

Jede Zeile repräsentiert ein Paket und zeigt seine Nummer, Zeitstempel, Quell- und Ziel-IP-Adressen, Ports und TCP-Flags an.

  1. Wenn Sie mit der Prüfung der Ausgabe fertig sind, drücken Sie q, um sowohl die Handbuchseite (falls noch geöffnet) als auch jede laufende tshark-Aufnahme zu beenden. Dadurch gelangen Sie zurück zum Befehlseingabeaufforderung und sind bereit für den nächsten Schritt.

Filtern von TCP-Verkehr mit -f "tcp"

In diesem Schritt üben Sie das Aufzeichnen von TCP (Transmission Control Protocol)-Netzwerkverkehr mithilfe der Filter-Syntax von Wireshark. TCP ist eines der Kernprotokolle der Internet-Protokollfamilie und bietet eine zuverlässige, geordnete und fehlerüberprüfte Datenübertragung zwischen Anwendungen. Diese Übung baut auf den grundlegenden Paketaufzeichnungsfähigkeiten auf, die Sie zuvor gelernt haben.

  1. Stellen Sie zunächst sicher, dass Sie sich im Standard-Arbeitsverzeichnis befinden, in dem wir unsere Aufzeichnungsdateien speichern werden:
cd ~/project
  1. Um live TCP-Verkehr von Ihrer Netzwerkschnittstelle aufzuzeichnen, führen Sie diesen Befehl aus:
sudo tshark -i eth1 -f "tcp" -c 10

Lassen Sie uns analysieren, was jeder Teil dieses Befehls macht:

  • sudo gibt Ihnen die Administratorrechte, die für die Paketaufzeichnung erforderlich sind
  • -i eth1 gibt an, dass wir von der Ethernet-Schnittstelle (eth1) aufzeichnen
  • -f "tcp" wendet einen Aufzeichnungsfilter an, um nur TCP-Pakete zu sammeln
  • -c 10 begrenzt die Aufzeichnung auf 10 Pakete für diese Demonstration
  1. Die Ausgabe zeigt TCP-Pakete mit wesentlichen Informationen in diesem Format an:
1 0.000000 192.168.1.1 → 192.168.1.2 TCP 74 443 → 49234 [SYN] Seq=0 Win=64240 Len=0
2 0.000123 192.168.1.2 → 192.168.1.1 TCP 74 49234 → 443 [SYN, ACK] Seq=0 Ack=1 Win=28960 Len=0

Jede Zeile repräsentiert ein TCP-Paket und zeigt:

  • Paketnummer und Zeitstempel
  • Quell- und Ziel-IP-Adressen
  • Quell- und Ziel-Ports
  • TCP-Flags (wie SYN, ACK)
  • Sequenznummern und Fenstergrößen
  1. Um die vollständige TCP-Paketstruktur einschließlich aller Headerfelder zu untersuchen, verwenden Sie den ausführlichen Modus:
sudo tshark -i eth1 -f "tcp" -c 5 -V

Das -V-Flag liefert eine detaillierte Ausgabe, die den vollständigen TCP-Header mit allen seinen Feldern wie Sequenznummern, Bestätigungsnummern, Flags, Fenstergröße, Prüfsumme und Optionen zeigt.

  1. Wenn Sie eine laufende Aufzeichnung jederzeit unterbrechen müssen, drücken Sie einfach Ctrl+C, um den Prozess zu stoppen. Dies ist nützlich, wenn Sie eine langlaufende Aufzeichnung beenden möchten oder wenn Sie genug Pakete für Ihre Analyse gesehen haben.

Aufzeichnung von gefiltertem Verkehr auf eth1

In diesem Schritt lernen Sie, Netzwerkverkehr auf der eth1-Schnittstelle mit spezifischen Filtern aufzuzeichnen, basierend auf dem TCP-Filtern aus den vorherigen Schritten. Die eth1-Schnittstelle repräsentiert in der Regel Ihre primäre kabelgebundene Netzwerkverbindung, und wir werden sie nutzen, um praktische Szenarien für die Paketaufzeichnung zu demonstrieren.

  1. Verifizieren Sie zunächst Ihre Netzwerkschnittstellen, indem Sie folgenden Befehl ausführen:
ip addr show eth1

Dieser Befehl zeigt detaillierte Informationen über Ihre eth1-Schnittstelle an. Sie sollten eine Ausgabe sehen, die zeigt, dass die eth1-Schnittstelle aktiv (Zustand UP) ist und eine zugewiesene IP-Adresse hat. Diese Verifizierung ist wichtig, da Sie keinen Verkehr auf einer Schnittstelle aufzeichnen können, die nicht existiert oder nicht aktiv ist.

  1. Um speziell HTTP-Verkehr auf eth1 aufzuzeichnen, verwenden Sie:
sudo tshark -i eth1 -f "tcp port 80" -c 15

Lassen Sie uns analysieren, was dieser Befehl macht:

  • -i eth1 gibt an, auf welcher Netzwerkschnittstelle gelauscht werden soll
  • -f "tcp port 80" erstellt einen Aufzeichnungsfilter für HTTP-Verkehr (Port 80 ist der Standard-HTTP-Port)
  • -c 15 begrenzt die Aufzeichnung auf 15 Pakete, was für eine Demonstration ausreicht, ohne Sie mit zu viel Daten zu überfordern
  1. Um Verkehr zwischen bestimmten IP-Adressen aufzuzeichnen, versuchen Sie:
sudo tshark -i eth1 -f "host 8.8.8.8" -c 10

Hier filtern wir den Verkehr zu/von Google's DNS-Server (8.8.8.8). Der "host"-Filter erfasst sowohl eingehenden als auch ausgehenden Verkehr zu dieser spezifischen IP-Adresse. Dies ist nützlich, wenn Sie die Kommunikation mit einem bestimmten Server überwachen möchten.

  1. Für komplexere Filterung kombinieren Sie Bedingungen:
sudo tshark -i eth1 -f "tcp port 443 and host 8.8.8.8" -c 5

Dieser Befehl zeigt, wie Filter kombiniert werden können. Er zeichnet HTTPS-Verkehr (Port 443) speziell zu/von 8.8.8.8 auf. Der "and"-Operator ermöglicht es Ihnen, präzise Filter zu erstellen, die mehrere Bedingungen gleichzeitig erfüllen.

  1. Beobachten Sie die Ausgabe, die gefilterte Pakete mit Details wie folgt zeigt:
1 0.000000 192.168.1.100 → 8.8.8.8 TCP 74 49234 → 443 [SYN] Seq=0 Win=64240 Len=0

Diese Beispielausgabe zeigt ein TCP SYN-Paket (das erste Paket in einer TCP-Verbindung) von Ihrem lokalen Rechner (192.168.1.100) an Google's Server. Die Zahlen repräsentieren Zeitangaben, Ports und TCP-Sequenzinformationen, die bei der Analyse des Netzwerkverhaltens helfen.

Speichern der Ergebnisse mit -w tcp.pcap

In diesem Schritt lernen Sie, wie Sie aufgezeichneten Netzwerkverkehr in einer Datei speichern können, um ihn später zu analysieren. Dies ist besonders nützlich, wenn Sie Netzwerkpakete zu einem anderen Zeitpunkt untersuchen oder sie mit Kollegen teilen müssen. Wir verwenden das Befehlszeilentool Tshark von Wireshark mit der Option -w, um unsere Aufzeichnung zu speichern.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden. Das Verzeichnis ~/project ist der Ort, an dem wir unsere Aufzeichnungsdateien speichern, um die Ordnung zu wahren:
cd ~/project
  1. Jetzt werden wir tatsächlichen TCP-Verkehr aufzeichnen. Der folgende Befehl erledigt mehrere wichtige Dinge auf einmal. Es ist wie das Einrichten einer Netzwerkkamera, die nur TCP-Pakete aufzeichnet und sie in einer Datei speichert:
sudo tshark -i eth1 -f "tcp" -w tcp.pcap -c 20

Lassen Sie uns analysieren, was jeder Teil dieses Befehls bedeutet:

  • -i eth1 teilt Tshark mit, auf der eth1-Netzwerkschnittstelle zu lauschen
  • -f "tcp" wendet einen Aufzeichnungsfilter an, um nur TCP-Pakete aufzuzeichnen
  • -w tcp.pcap speichert die aufgezeichneten Pakete in einer Datei namens tcp.pcap
  • -c 20 begrenzt die Aufzeichnung auf 20 Pakete, damit wir nicht zu viele Daten sammeln
  1. Nach dem Ausführen der Aufzeichnung sollten wir überprüfen, ob unsere Datei korrekt erstellt wurde. Der Befehl ls mit den Optionen -lh zeigt die Dateigröße in einem menschenlesbaren Format an:
ls -lh tcp.pcap

Sie sollten eine Ausgabe sehen, die zeigt, dass die Datei existiert und ihre Größe (typischerweise ein paar KB für 20 Pakete).

  1. Jetzt lassen Sie uns unsere aufgezeichneten Pakete untersuchen. Dieser Befehl liest die ersten 5 Pakete aus unserer gespeicherten Datei:
tshark -r tcp.pcap -c 5

Die Option -r teilt Tshark mit, aus einer Datei zu lesen, anstatt live Verkehr aufzuzeichnen, während -c 5 die Ausgabe auf 5 Pakete begrenzt.

  1. Für eine technischere Ansicht dessen, was wir aufgezeichnet haben, können wir den ausführlichen Modus verwenden. Dies zeigt alle Protokolldetails und Paketinhalt, aber wir begrenzen es auf die ersten 20 Zeilen, um die Ausgabe überschaubar zu halten:
tshark -r tcp.pcap -V | head -20

Das -V aktiviert die ausführliche Ausgabe, und head -20 zeigt nur den Anfang dieser Ausgabe, damit wir nicht von Informationen überwältigt werden.

Zusammenfassung

In diesem Lab haben Sie gelernt, Aufzeichnungsfilter in Tshark durch praktische Übungen anzuwenden. Sie haben die Grundlagen der Filter-Syntax untersucht, einschließlich Protokollfiltern und logischen Ausdrücken, und dann das Aufzeichnen von TCP-Verkehr mit grundlegenden Befehlen geübt.

Das Lab hat Sie außerdem durch fortgeschrittene Techniken geführt, wie die Live-Überwachung von Schnittstellen, die Anpassung der Ausgabe im ausführlichen Modus und das Speichern von gefilterten Aufzeichnungen in Dateien. Mit diesen Fähigkeiten können Sie effizienten Netzwerkverkehr analysieren, indem Sie Schnittstellenauswahl, Filterung und Ausgabeverwaltung in effizienten Arbeitsabläufen kombinieren.