TCP-Streams in Tshark verfolgen

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 TCP-Streams mit dem Befehlszeilentool tshark von Wireshark analysieren können. Sie üben die wichtigsten Befehle, um Paketaufzeichnungen zu lesen, TCP-Konversationen zu identifizieren und spezifische Stream-Daten für eine detaillierte Untersuchung zu extrahieren.

Die Übungen führen Sie durch die Überprüfung von Aufzeichnungsdateien, die Untersuchung von Protokolldetails und das Speichern des Stream-Inhalts. Durch die Absolvierung dieses Labs erwerben Sie praktische Fähigkeiten in der Netzwerkverkehrsanalyse unter Verwendung der leistungsstarken Filter- und Statistikfunktionen von tshark.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/protocol_dissection("Protocol Dissection") wireshark/WiresharkGroup -.-> wireshark/follow_tcp_stream("Follow TCP Stream") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/packet_capture -.-> lab-548929{{"TCP-Streams in Tshark verfolgen"}} wireshark/protocol_dissection -.-> lab-548929{{"TCP-Streams in Tshark verfolgen"}} wireshark/follow_tcp_stream -.-> lab-548929{{"TCP-Streams in Tshark verfolgen"}} wireshark/packet_analysis -.-> lab-548929{{"TCP-Streams in Tshark verfolgen"}} wireshark/commandline_usage -.-> lab-548929{{"TCP-Streams in Tshark verfolgen"}} end

Lesen einer TCP-Aufzeichnung mit -r tcp.pcap

In diesem Schritt lernen Sie, wie Sie eine TCP-Paketaufzeichnungsdatei mit dem Befehlszeilentool tshark von Wireshark lesen können. Dies ist der erste Schritt bei der Analyse von Netzwerkverkehr aus einer gespeicherten Aufzeichnungsdatei. Das Verständnis, wie man Paketaufzeichnungen liest, ist grundlegend für die Netzwerkfehlersuche und -analyse.

Die Option -r in tshark ermöglicht es Ihnen, Pakete aus einer zuvor gespeicherten Aufzeichnungsdatei zu lesen. Stellen Sie sich das wie das Öffnen eines Dokuments vor - die -r-Option sagt tshark, welches "Dokument" (Aufzeichnungsdatei) geöffnet werden soll. Wir verwenden eine Beispieldatei namens tcp.pcap, die sich in Ihrem ~/project-Verzeichnis befindet.

  1. Zunächst überprüfen wir, ob die Aufzeichnungsdatei an der erwarteten Stelle existiert. Dies ist eine gute Praxis, bevor Sie versuchen, eine Datei zu analysieren:
ls ~/project/tcp.pcap
  1. Jetzt verwenden wir tshark, um die Aufzeichnungsdatei zu lesen. Der grundlegende Befehl ohne Filter zeigt Ihnen einen Überblick über gesamten Netzwerkverkehr in der Datei:
tshark -r ~/project/tcp.pcap

Dies zeigt eine Zusammenfassungsansicht mit wichtigen Spalten an:

  • Paketnummer (zeigt die Reihenfolge der aufgezeichneten Pakete)
  • Zeitstempel (wann jedes Paket aufgezeichnet wurde)
  • Quell- und Ziel-IP-Adressen
  • Verwendetes Protokoll (TCP, UDP usw.)
  • Kurze Informationen über den Paketinhalt
  1. Um tiefer in den Paketinhalt einzusteigen, können wir die -V-Option (ausführlicher Modus) hinzufügen. Dies zeigt die vollständige Protokollaufteilung jedes Pakets Schicht für Schicht an:
tshark -r ~/project/tcp.pcap -V

Die ausführliche Ausgabe zeigt Details über Folgendes:

  • Ethernet-Schicht (MAC-Adressen)
  • IP-Schicht (Quell-/Ziel-IP, TTL usw.)
  • TCP-Schicht (Ports, Sequenznummern, Flags)
  • Anwendungs-Schicht-Daten (falls vorhanden)

Diese detaillierte Ansicht hilft Ihnen, genau zu verstehen, was auf jeder Netzwerkschicht während der Kommunikation passiert.

Identifizieren des Stream-Index mit -z conv,tcp

In diesem Schritt lernen Sie, wie Sie TCP-Konversations-Streams in einer Paketaufzeichnung mit tshark von Wireshark und der Option -z conv,tcp identifizieren können. Dies hilft bei der Analyse von Kommunikationsmustern zwischen Hosts.

Bevor wir beginnen, ist es wichtig zu verstehen, dass TCP-Streams vollständige Konversationen zwischen zwei Endpunkten darstellen. Jeder Stream hat eine eindeutige Indexnummer, die es uns ermöglicht, bestimmte Kommunikationen in einer Netzwerkaufzeichnung, die viele gleichzeitige Verbindungen enthalten kann, zu isolieren und zu analysieren.

Die Option -z conv,tcp zeigt eine Tabelle aller TCP-Konversationen in der Aufzeichnung an, wobei Stream-Indexe, Quell-/Zieladressen, Ports und Paketanzahlen angezeigt werden. Dies gibt uns einen Überblick über alle TCP-Aktivitäten in unserer Aufzeichnungsdatei.

  1. Zunächst listen wir alle TCP-Konversationen in unserer Aufzeichnungsdatei auf:
tshark -r ~/project/tcp.pcap -z conv,tcp

Wenn Sie diesen Befehl ausführen, verarbeitet tshark die Paketaufzeichnungsdatei und erstellt eine Zusammenfassung aller TCP-Konversationen. Der Befehl liest (-r) die angegebene pcap-Datei und wendet die Konversationsstatistik-Option (-z conv,tcp) an.

  1. Die Ausgabe zeigt eine Tabelle mit folgenden Spalten:

    • Stream-Index (eindeutiger Bezeichner für jeden TCP-Stream)
    • Quelladresse:Port (zeigt, welches Gerät die Verbindung initiiert hat)
    • Zieladresse:Port (zeigt das empfangende Gerät)
    • Pakete in jede Richtung (hilft bei der Identifizierung des Datenflusses)
    • Gesamtzahl der Pakete (gibt die Größe der Konversation an)
  2. Um nur die Konversationsstatistiken (ohne Paketdetails) anzuzeigen, fügen Sie -q (Stumm-Modus) hinzu:

tshark -r ~/project/tcp.pcap -z conv,tcp -q

Die Option -q sagt tshark, nur die von uns angeforderten Statistiken auszugeben. Dies macht die Ausgabe sauberer und leichter lesbar, wenn wir nur an der Konversationszusammenfassung interessiert sind.

  1. Notieren Sie sich die Stream-Indexe (erste Spalte), da Sie sie im nächsten Schritt benötigen, in dem wir bestimmte Streams verfolgen werden. Diese Indexe sind wichtig, da sie es uns ermöglichen, uns auf einzelne Konversationen in einer möglicherweise sehr ausgelasteten Netzwerkaufzeichnung zu konzentrieren.

Verfolgen eines Streams mit -z follow,tcp,stream,0

In diesem Schritt lernen Sie, wie Sie einen bestimmten TCP-Stream aus der Paketaufzeichnung mit tshark von Wireshark und der Option -z follow,tcp verfolgen und analysieren können. Dies ermöglicht es Ihnen, den tatsächlichen Datenfluss einer Konversation zwischen zwei Endpunkten wiederherzustellen und die Kommunikation auf Anwendungsebene leichter zu verstehen.

Die Option -z follow,tcp,stream,0 lässt Sie Stream 0 untersuchen (ersetzen Sie 0 durch den gewünschten Stream-Index aus dem vorherigen Schritt) als kontinuierlichen Datenfluss anstatt als einzelne Pakete. Dies ist besonders nützlich bei der Analyse von Protokollen wie HTTP, bei denen das Laden einer einzelnen Webseite möglicherweise mehrere Pakete erfordert.

  1. Zunächst verfolgen wir Stream 0 (die erste TCP-Konversation) aus unserer Aufzeichnung. Dieser Befehl liest die pcap-Datei und rekonstruiert die gesamte Konversation:
tshark -r ~/project/tcp.pcap -z follow,tcp,stream,0
  1. Die Ausgabe zeigt drei wichtige Informationen:

    • Der vollständige Datenaustausch zwischen Client und Server, in der richtigen Reihenfolge rekonstruiert
    • ASCII-Darstellung der Daten auf Anwendungsebene (was die Anwendungen tatsächlich gesendet haben)
    • Richtungsangaben (">" für Client-zu-Server, "<" für Server-zu-Client), die helfen, zu verfolgen, wer welchen Teil der Konversation initiiert hat
  2. Um einen anderen Stream zu verfolgen, ersetzen Sie "0" durch den gewünschten Stream-Index (aus der Ausgabe von Schritt 2). Beispielsweise, um die zweite Konversation in der Aufzeichnung anzuzeigen:

tshark -r ~/project/tcp.pcap -z follow,tcp,stream,1
  1. Für eine sauberere Ausgabe, die nur die Daten (ohne Paket-Header) zeigt, fügen Sie -q (Stumm-Modus) hinzu. Dies ist hilfreich, wenn Sie nur an den Anwendungsdaten interessiert sind:
tshark -r ~/project/tcp.pcap -z follow,tcp,stream,0 -q

Speichern von Stream-Text mit Umleitung

In diesem Schritt lernen Sie, wie Sie den Inhalt eines TCP-Streams mithilfe von Ausgaberedirektion in einer Datei speichern können. Diese Technik ist besonders nützlich, wenn Sie Netzwerkkommunikationsmuster analysieren oder die aufgezeichneten Daten mit Kollegen teilen müssen. Der Prozess umfasst die Extraktion spezifischer TCP-Stream-Daten aus einer Paketaufzeichnungsdatei und deren Speicherung in einer Textdatei für eine spätere Untersuchung.

  1. Zunächst speichern wir Stream 0 in einer Datei namens stream0.txt. Dieser Befehl liest die Paketaufzeichnungsdatei (tcp.pcap) und extrahiert nur den Inhalt aus TCP-Stream-Index 0, und leitet dann die Ausgabe in eine neue Textdatei um:
tshark -r ~/project/tcp.pcap -z follow,tcp,stream,0 -q > ~/project/stream0.txt
  1. Nach der Ausführung des Befehls überprüfen Sie, ob die Datei erfolgreich erstellt wurde. Der Befehl ls -l zeigt detaillierte Informationen über die Datei, einschließlich ihrer Größe und Erstellungszeit:
ls -l ~/project/stream0.txt
  1. Um den tatsächlich gespeicherten Inhalt anzuzeigen, verwenden Sie den Befehl cat. Dies zeigt die vollständige Konversation aus dem TCP-Stream an, einschließlich sowohl Client- als auch Server-Nachrichten:
cat ~/project/stream0.txt
  1. Dieselbe Technik funktioniert für jeden TCP-Stream in Ihrer Aufzeichnungsdatei. So speichern Sie Stream 1, indem Sie einfach den Stream-Index im Befehl ändern. Beachten Sie, dass wir eine neue Datei (stream1.txt) erstellen, um die vorherige nicht zu überschreiben:
tshark -r ~/project/tcp.pcap -z follow,tcp,stream,1 -q > ~/project/stream1.txt
  1. Bei der Untersuchung längerer Streams kann das Hinzufügen von Zeilennummern die Analyse erleichtern. Die Option -n bei cat zeigt jede Zeile mit ihrer entsprechenden Nummer an, was Ihnen hilft, bestimmte Teile der Konversation zu referenzieren:
cat -n ~/project/stream0.txt

Zusammenfassung

In diesem Lab haben Sie gelernt, TCP-Netzwerkverkehr mit dem Befehlszeilentool tshark von Wireshark zu analysieren. Die Übungen umfassten das Lesen von Paketaufzeichnungen mit -r, die Anzeige detaillierter Protokollinformationen über -V und die Identifizierung von TCP-Konversationen mithilfe von -z conv,tcp für die Stream-Analyse.

Sie haben geübt, bestimmte TCP-Streams anhand ihrer Indizes zu verfolgen und den Stream-Inhalt durch Ausgaberedirektion zu speichern. Diese Techniken bieten einen praktischen Arbeitsablauf für die Untersuchung von Netzwerkverkehr, von der anfänglichen Aufzeichnung bis zur gezielten Datenuntersuchung mit tshark.