Pakete in Tshark erfassen

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 Tshark, die Befehlszeilenversion von Wireshark, verwenden, um Netzwerkpakete zu erfassen und zu analysieren. Sie üben essentielle Fähigkeiten wie die Auswahl der Schnittstelle, die Initiierung der Paketerfassung, die Protokollfilterung und Techniken zum Speichern der Ausgabe.

Diese praktische Übung behandelt die Installation von Tshark, die Konfiguration der Berechtigungen und die grundlegenden Befehlsoperationen für eine effektive Netzwerküberwachung. Diese grundlegenden Fähigkeiten der Paketanalyse sind für die Netzwerkfehlersuche und Sicherheitsuntersuchungen von großem Wert.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/installation("Installation and Setup") wireshark/WiresharkGroup -.-> wireshark/interface("Interface Overview") wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/export_packets("Exporting Packets") subgraph Lab Skills wireshark/installation -.-> lab-549928{{"Pakete in Tshark erfassen"}} wireshark/interface -.-> lab-549928{{"Pakete in Tshark erfassen"}} wireshark/packet_capture -.-> lab-549928{{"Pakete in Tshark erfassen"}} wireshark/display_filters -.-> lab-549928{{"Pakete in Tshark erfassen"}} wireshark/export_packets -.-> lab-549928{{"Pakete in Tshark erfassen"}} end

Installation von Tshark

In diesem Schritt installieren Sie Tshark, einen leistungsstarken Befehlszeilen-Netzwerkprotokoll-Analyzer, der mit Wireshark ausgeliefert wird. Tshark ist die Terminalversion von Wireshark und ermöglicht es Ihnen, Netzwerkverkehr direkt von der Befehlszeile aus zu erfassen und zu analysieren, ohne eine grafische Benutzeroberfläche. Dies ist besonders nützlich, wenn Sie auf Remote-Servern arbeiten oder wenn Sie lieber mit der Tastatur arbeiten.

  1. Aktualisieren Sie zunächst die Paketliste, um sicherzustellen, dass Sie die neueste Version von Tshark erhalten. Dies ist eine gute Praxis, bevor Sie neue Software auf Linux-Systemen installieren:

    sudo apt update
  2. Installieren Sie Tshark mit dem folgenden Befehl. Das -y-Flag bestätigt automatisch alle Abfragen während der Installation:

    sudo apt install -y tshark

    Während der Installation wird möglicherweise eine Abfrage angezeigt, ob Nicht-Superuser Pakete erfassen dürfen. Dies ist eine wichtige Sicherheitsüberlegung - die Auswahl von "Ja" ermöglicht es normalen Benutzern, Paketerfassungen durchzuführen, was für dieses Lab gewünscht ist.

  3. Überprüfen Sie nach Abschluss der Installation, ob Tshark korrekt installiert wurde, indem Sie seine Version überprüfen. Dieser Befehl bestätigt auch, dass der Installationspfad in Ihrem System richtig festgelegt ist:

    tshark --version

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    TShark (Wireshark) 3.6.12 (Git v3.6.12 packaged as 3.6.12-1~ubuntu20.04.0)
  4. Um sicherzustellen, dass Tshark Pakete erfassen kann, ohne dass root-Rechte erforderlich sind (was unpraktisch und weniger sicher wäre), müssen wir Ihren Benutzer der Gruppe wireshark hinzufügen. Diese Gruppe hat die erforderlichen Berechtigungen für die Paketerfassung:

    sudo usermod -aG wireshark $USER

    Hinweis: Normalerweise müssten Sie sich ausloggen und wieder einloggen, damit diese Gruppenänderung wirksam wird. In dieser Lab-Umgebung sollte die Änderung jedoch sofort wirksam sein. In einem realen System müssten Sie Ihre Sitzung neu starten.

Auswahl einer Schnittstelle

In diesem Schritt identifizieren und wählen Sie eine Netzwerkschnittstelle für die Paketerfassung mit Tshark aus. Netzwerkschnittstellen sind die Verbindungspunkte zwischen Ihrem Computer und einem Netzwerk, und Sie müssen die richtige auswählen, um den Netzwerkverkehr zu überwachen. Stellen Sie sich sie wie Türen zu Ihrem Computer vor - Sie müssen die richtige Tür wählen, durch die der Netzwerkverkehr fließt.

  1. Listen Sie zunächst alle verfügbaren Netzwerkschnittstellen auf Ihrem System auf:

    tshark -D

    Dieser Befehl zeigt alle Netzwerkschnittstellen an, die Ihr Computer zur Paketerfassung verwenden kann. Die Ausgabe sieht typischerweise wie folgt aus:

    1. eth0
    2. any (Pseudo-Gerät, das auf allen Schnittstellen erfasst)
    3. lo (Loopback)

    Jede Schnittstelle hat einen anderen Zweck. eth0 ist normalerweise Ihre kabelgebundene Ethernet-Verbindung, während wlan0 Ihre drahtlose Verbindung wäre, falls verfügbar.

  2. Untersuchen Sie die Ausgabe sorgfältig, um Ihre aktive Netzwerkschnittstelle zu identifizieren. Für die meisten praktischen Zwecke möchten Sie verwenden:

    • eth0 für eine Ethernet-Verbindung (häufig in Labs und virtuellen Maschinen)
    • wlan0 für eine drahtlose Verbindung (falls Ihr Computer über WiFi verfügt)
    • any, um gleichzeitig auf allen Schnittstellen zu erfassen (nützlich, kann aber viel Rauschen verursachen)
  3. In diesem Lab verwenden wir die Schnittstelle eth0, da sie in virtuellen Umgebungen häufig verfügbar ist. Bevor wir fortfahren, überprüfen wir, ob diese Schnittstelle existiert und aktiv ist, indem wir folgenden Befehl ausführen:

    ip link show eth0

    Dieser Befehl zeigt detaillierte Informationen über die eth0-Schnittstelle an. Sie sollten eine Ausgabe sehen, die angibt, dass die Schnittstelle existiert und ihren aktuellen Zustand (UP/DOWN). Wenn der Befehl einen Fehler zurückgibt, ist die Schnittstelle möglicherweise nicht auf Ihrem System verfügbar.

  4. Jetzt testen wir unsere Schnittstellenauswahl mit einer schnellen Paketerfassung. Führen Sie diesen Befehl aus, um genau 5 Pakete von der eth0-Schnittstelle zu erfassen:

    tshark -i eth0 -c 5

    Das -i-Flag gibt an, welche Schnittstelle verwendet werden soll, und -c 5 teilt Tshark mit, nach der Erfassung von 5 Paketen aufzuhören. Dies ist eine gute Möglichkeit, zu überprüfen, ob Ihre Schnittstellenauswahl funktioniert, bevor Sie längere Erfassungen durchführen. Die Pakete werden in Ihrem Terminal angezeigt, während sie erfasst werden.

Start der Paketerfassung

In diesem Schritt beginnen Sie mit der Erfassung von Live-Netzwerkverkehr mithilfe von Tshark auf der Schnittstelle, die Sie im vorherigen Schritt ausgewählt haben. Die Paketerfassung ist die Grundlage für die Netzwerkanalyse, da sie es Ihnen ermöglicht, alle Netzwerkkommunikationen zu überwachen und zu untersuchen, die über Ihre ausgewählte Schnittstelle fließen. Stellen Sie sich vor, Sie würden ein Mikrofon einrichten, um alle Gespräche auf einem bestimmten Netzwerkkanal aufzuzeichnen.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Verzeichnis befinden, in dem wir arbeiten werden:

    cd ~/project

    Dies stellt sicher, dass alle von Ihnen erfassten Paketdateien am richtigen Ort gespeichert werden und hält Ihren Arbeitsbereich organisiert.

  2. Starten Sie eine grundlegende Paketerfassung auf Ihrer ausgewählten Schnittstelle (eth0) mit dem folgenden Befehl:

    tshark -i eth0

    Das -i-Flag teilt Tshark mit, auf welcher Schnittstelle es lauschen soll (in diesem Fall eth0). Dieser Befehl beginnt mit der Erfassung aller Pakete auf der eth0-Schnittstelle und zeigt sie in Echtzeit in Ihrem Terminal an. Jede Zeile repräsentiert ein einzelnes Netzwerkpaket mit Details über seine Quelle, sein Ziel, das Protokoll und andere Eigenschaften.

  3. Lassen Sie die Erfassung etwa 30 Sekunden laufen, um etwas Verkehr zu sammeln. Sie werden eine Ausgabe ähnlich der folgenden sehen:

    1 0.000000000 192.168.1.2 → 192.168.1.1 TCP 74 55922 → 80 [SYN] Seq=0 Win=64240 Len=0
    2 0.000123456 192.168.1.1 → 192.168.1.2 TCP 74 80 → 55922 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

    Dieses Beispiel zeigt eine TCP-Handshake zwischen zwei Geräten. Die erste Zeile zeigt ein SYN-Paket, das eine Verbindung initiiert, während die zweite Zeile die Antwort (SYN-ACK) zeigt.

  4. Um die Erfassung zu stoppen, drücken Sie Ctrl+C in Ihrem Terminal. Dieser Tastaturkurzbefehl sendet ein Unterbrechungssignal an Tshark. Das Tool zeigt dann Erfassungsstatistiken wie die folgenden an:

    ^C123 packets captured

    Diese Zusammenfassung sagt Ihnen, wie viele Pakete während Ihrer Sitzung erfasst wurden.

  5. Für eine kontrolliertere Erfassung können Sie die genaue Anzahl der zu erfassenden Pakete angeben (z. B. 50 Pakete):

    tshark -i eth0 -c 50

    Das -c-Flag steht für "count" und lässt Tshark automatisch nach der Erfassung der angegebenen Anzahl von Paketen stoppen. Dies ist nützlich, wenn Sie nur eine Stichprobe des Netzwerkverkehrs benötigen, anstatt eine kontinuierliche Erfassung.

Filtern nach Protokoll

In diesem Schritt lernen Sie, wie Sie den Netzwerkverkehr nach bestimmten Protokollen mithilfe von Tshark filtern können. Das Filtern nach Protokollen ist wichtig, da Netzwerke gleichzeitig viele verschiedene Arten von Verkehr tragen. Durch das Filtern können Sie sich auf bestimmte Protokolle konzentrieren, die Sie interessieren, und irrelevante Pakete ignorieren, was Ihre Analyse effizienter macht.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Verzeichnis befinden, in dem wir arbeiten werden. Dies hilft, Ihre Projektdateien organisiert zu halten:

    cd ~/project
  2. Beginnen wir mit TCP-Verkehr, der von vielen gängigen Diensten wie Webbrowsing (HTTP/HTTPS) und Secure Shell (SSH) verwendet wird. Der folgende Befehl erfasst 20 TCP-Pakete:

    tshark -i eth0 -f "tcp" -c 20

    Das -f-Flag gibt den Erfassungsfilter an, während -c die Anzahl der erfassten Pakete begrenzt.

  3. Versuchen Sie nun, UDP-Verkehr zu erfassen, der für leichte Kommunikation wie DNS-Suchen und VoIP-Dienste verwendet wird. Dieser Befehl erfasst 10 UDP-Pakete:

    tshark -i eth0 -f "udp" -c 10
  4. Für ICMP-Pakete (verwendet von Netzwerkdiagnosetools wie ping) verwenden Sie diesen Befehl, um 5 Pakete zu erfassen:

    tshark -i eth0 -f "icmp" -c 5
  5. Sie können Filter kombinieren, um mehrere Protokolle gleichzeitig zu erfassen. In diesem Beispiel werden sowohl DNS-Verkehr (UDP-Port 53) als auch HTTP-Verkehr (TCP-Port 80) erfasst, insgesamt 15 Pakete:

    tshark -i eth0 -f "port 53 or port 80" -c 15
  6. Für eine präzisere Filterung nach der Erfassung verwenden Sie Anzeigefilter mit der -Y-Option. Dieser Befehl erfasst 30 Pakete, zeigt aber nur HTTP- oder DNS-Verkehr in der Ausgabe an:

    tshark -i eth0 -c 30 -Y "http or dns"

    Anzeigefilter werden nach der Erfassung verarbeitet, was eine komplexere Filterung ermöglicht, ohne die aufgezeichneten Daten zu beeinflussen.

Speichern der Erfassungsausgabe

In diesem Schritt lernen Sie, wie Sie den erfassten Netzwerkverkehr in Dateien speichern können, um ihn später zu analysieren. Das Speichern von Paketerfassungen ist von entscheidender Bedeutung, da es Ihnen ermöglicht, die Netzwerkaktivität zu einem späteren Zeitpunkt zu überprüfen, Ergebnisse mit Teammitgliedern zu teilen oder eine detaillierte Analyse durchzuführen, ohne erneut Live-Verkehr erfassen zu müssen. Das PCAP (Packet CAPture)-Format ist das Standard-Dateiformat, das von den meisten Netzwerkanalyse-Tools verwendet wird.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Verzeichnis befinden, in dem Sie Ihre Erfassungsdateien speichern möchten. Das Projektverzeichnis ist ein guter Ort, um Ihre Arbeit organisiert zu halten:

    cd ~/project
  2. Der grundlegende Befehl zum Speichern von erfassten Paketen verwendet das -w-Flag, um die Ausgabedatei anzugeben. In diesem Beispiel werden 50 Pakete von der Schnittstelle eth0 erfasst und im PCAP-Format gespeichert:

    tshark -i eth0 -c 50 -w capture.pcap

    Die .pcap-Erweiterung ist wichtig, da sie darauf hinweist, dass es sich um eine Standard-Paketerfassungsdatei handelt, die von den meisten Netzwerkanalyse-Tools geöffnet werden kann.

  3. Für eine bessere Organisation können Sie ein eigenes Verzeichnis für Ihre Erfassungen erstellen. Dieser Befehl erstellt zunächst ein Verzeichnis namens 'captures', wenn es noch nicht existiert, erfasst dann nur HTTP-Verkehr (Port 80) und speichert ihn unter einem beschreibenden Dateinamen:

    mkdir -p captures && tshark -i eth0 -c 30 -w captures/http_traffic.pcap -f "port 80"
  4. Um eine gespeicherte Erfassungsdatei zu überprüfen, verwenden Sie die -r (read)-Option. Dadurch werden die Pakete im Terminal wie bei einer Live-Erfassung angezeigt:

    tshark -r capture.pcap
  5. Für fortgeschrittene Workflows können Sie zunächst den gesamten Verkehr erfassen und später bestimmte Protokolle extrahieren. In diesem Beispiel werden 100 Pakete erfasst, und dann wird nur der DNS-Verkehr in eine neue Datei gefiltert:

    tshark -i eth0 -c 100 -w full_capture.pcap \
      && tshark -r full_capture.pcap -Y "dns" -w dns_only.pcap
  6. Überprüfen Sie schließlich Ihre gespeicherten Erfassungen, indem Sie sie mit ihren Größen auflisten. Dies hilft Ihnen, sicherzustellen, dass die Dateien erstellt wurden, und gibt Ihnen eine Vorstellung davon, wie viel Daten erfasst wurden:

    ls -lh *.pcap

    Die -lh-Optionen machen die Ausgabe lesbarer, indem sie die Dateigrößen in einem menschenlesbaren Format (KB, MB) anstelle von Bytes anzeigen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Tshark für die Netzwerkpaketanalyse installieren und konfigurieren. Der Prozess umfasste die Installation von Tshark über apt, das Aktualisieren der Paketlisten und die Überprüfung der Installation mit tshark --version.

Sie haben auch gelernt, Netzwerkschnittstellen mit tshark -D zu identifizieren und eine geeignete Schnittstelle für die Verkehrserfassung auszuwählen. Diese grundlegenden Fähigkeiten bereiten Sie auf eine fortgeschrittenere Netzwerkprotokollanalyse in zukünftigen Übungen vor.