TCP-Konversationen in Tshark analysieren

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, TCP-Konversationen mit dem Befehlszeilentool tshark von Wireshark zu analysieren. Sie üben das Erfassen von TCP-Verkehr mit Filtern, das Auflisten von Konversationen und das Untersuchen bestimmter Ports wie HTTP (Port 80), während Sie detaillierte Paketinformationen interpretieren.

Durch praktische Übungen, einschließlich der Verkehrsgenerierung mit curl und der Analyse von Erfassungsdateien, werden Sie es beherrschen, TCP-Streams zu isolieren und Schlüsselmetriken von Konversationen zu identifizieren. Diese Fähigkeiten verbessern Ihre Fähigkeiten bei der Netzwerkfehlersuche und der Verkehrsanalyse mit Wireshark.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") 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-548913{{"TCP-Konversationen in Tshark analysieren"}} wireshark/display_filters -.-> lab-548913{{"TCP-Konversationen in Tshark analysieren"}} wireshark/capture_filters -.-> lab-548913{{"TCP-Konversationen in Tshark analysieren"}} wireshark/packet_analysis -.-> lab-548913{{"TCP-Konversationen in Tshark analysieren"}} wireshark/commandline_usage -.-> lab-548913{{"TCP-Konversationen in Tshark analysieren"}} end

Erfassen von TCP-Verkehr mit -f "tcp"

In diesem Schritt lernen Sie, wie Sie TCP-Netzwerkverkehr mit dem Befehlszeilentool tshark von Wireshark erfassen. TCP (Transmission Control Protocol) ist eines der Kernprotokolle des Internets und verantwortlich für die zuverlässige Datenübertragung zwischen Anwendungen. Durch die Verwendung des Filters -f "tcp" können wir uns speziell auf TCP-Pakete konzentrieren, was bei der Analyse von Webbrowsing, Dateiübertragungen oder E-Mail-Kommunikationen hilft.

  1. Öffnen Sie zunächst ein Terminal in Ihrer LabEx-VM, indem Sie auf das Terminal-Symbol auf dem Xfce-Desktop klicken oder die Tastenkombination Strg+Alt+T verwenden. Im Terminal führen wir alle Befehle für diese Netzwerkanalyse aus.

  2. Navigieren Sie in das Standardarbeitsverzeichnis, in dem wir unsere Erfassungsdateien speichern werden:

    cd ~/project

    Dadurch wird sichergestellt, dass alle erfassten Daten an einem konsistenten Ort gespeichert werden, der später leicht zu finden ist.

  3. Starten Sie die Erfassung von TCP-Verkehr mit dem folgenden Befehl:

    sudo tshark -f "tcp" -w tcp_capture.pcap

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

    • sudo gibt uns die Administratorrechte, die für die Paketerfassung erforderlich sind.
    • tshark ist die Befehlszeilenversion von Wireshark.
    • -f "tcp" fungiert als Erfassungsfilter und teilt tshark mit, nur TCP-Pakete aufzuzeichnen.
    • -w tcp_capture.pcap speichert die erfassten Pakete in einer Datei namens "tcp_capture.pcap".
  4. Während tshark läuft, müssen wir etwas Beispiel-TCP-Verkehr generieren. Öffnen Sie ein weiteres Terminalfenster und führen Sie aus:

    curl https://www.example.com

    Dieser Befehl sendet eine einfache Webanfrage an example.com, das für seine Kommunikation TCP verwendet. Der curl-Befehl zeigt Ihnen den HTML-Inhalt an, der von der Website zurückgegeben wird.

  5. Warten Sie einige Sekunden, um genug Daten zu erfassen, und stoppen Sie die Erfassung, indem Sie in dem ersten Terminal, in dem tshark läuft, Strg+C drücken. Dadurch wird der Paketerfassungsprozess sicher beendet.

  6. Lassen Sie uns nun überprüfen, was wir erfasst haben, indem wir die ersten Zeilen unserer Erfassungsdatei untersuchen:

    tshark -r tcp_capture.pcap | head -n 5

    Dieser Befehl liest (-r) unsere Erfassungsdatei und zeigt die ersten 5 Pakete an. Sie sollten eine Ausgabe sehen, die den TCP-Handshake-Prozess zeigt, der Folgendes umfasst:

    • SYN (Synchronisierungs-)Pakete, die die Verbindung initiieren
    • SYN-ACK (Synchronisierungs-Bestätigungs-)Antworten
    • Quell- und Ziel-IP-Adressen
    • Portnummern, die für die Kommunikation verwendet werden

Auflisten von Konversationen mit -z conv,tcp

In diesem Schritt lernen Sie, wie Sie TCP-Konversationen aus dem erfassten Verkehr mit der Option -z conv,tcp von Wireshark analysieren. Eine TCP-Konversation repräsentiert eine vollständige Kommunikationssitzung zwischen zwei Endpunkten, die anhand ihrer IP-Adressen und Portnummern identifiziert werden. Diese Funktion bietet eine Zusammenfassung aller TCP-Konversationen in Ihrer Erfassung und zeigt Quell- und Ziel-IPs, Ports sowie Paketstatistiken an, was für das Verständnis von Netzwerkkommunikationsmustern unerlässlich ist.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Verzeichnis befinden, in dem sich Ihre Erfassungsdatei befindet. Dies ist wichtig, da Tshark wissen muss, wo es die Paketerfassungsdatei finden kann:

    cd ~/project
  2. Der grundlegende Befehl zum Auflisten von TCP-Konversationen analysiert die erfassten Pakete und zeigt eine Zusammenfassungstabelle an. Der -r-Schalter gibt die Eingabedatei an, während -z conv,tcp die Konversationsstatistikfunktion aktiviert:

    tshark -r tcp_capture.pcap -z conv,tcp
  3. Die Ausgabe zeigt eine Tabelle mit allen TCP-Konversationen an, ähnlich wie in diesem Beispiel. Jede Zeile repräsentiert eine Konversation zwischen zwei Endpunkten und zeigt die Anzahl der Rahmen (Pakete) und die übertragenen Bytes in beide Richtungen:

    =========================================================================
    TCP Conversations
    Filter:<No Filter>
                                                  |       <-      | |       ->      | |     Total     |
                                                  | Frames  Bytes | | Frames  Bytes | | Frames  Bytes |
    192.168.1.2:49152   <-> 93.184.216.34:80     |      3    180 | |      3    216 | |      6    396 |
    =========================================================================
  4. Um eine detailliertere Ansicht mit absoluten Zeitstempeln zu erhalten, die anzeigen, wann jede Konversation stattgefunden hat, verwenden Sie die Option -t ad. Dies hilft beim Verständnis des Zeitablaufs und der Reihenfolge von Netzwerkevents:

    tshark -r tcp_capture.pcap -z conv,tcp -t ad
  5. Sie können Konversationen nach bestimmten Kriterien filtern, indem Sie Anzeigefilter mit der Option -Y verwenden. In diesem Beispiel werden Konversationen gefiltert, die Port 80 betreffen (HTTP-Verkehr), was nützlich ist, wenn Sie nur den Webbrowserverkehr analysieren möchten:

    tshark -r tcp_capture.pcap -z conv,tcp -Y "tcp.port==80"
  6. Um die Konversationsstatistiken für eine spätere Analyse oder Berichterstattung zu speichern, leiten Sie die Ausgabe in eine Textdatei um. Dadurch wird eine dauerhafte Aufzeichnung Ihrer Analyse erstellt, die Sie überprüfen oder mit anderen teilen können:

    tshark -r tcp_capture.pcap -z conv,tcp > tcp_conversations.txt

Filtern eines bestimmten Ports mit -Y "tcp.port==80"

In diesem Schritt lernen Sie, wie Sie Netzwerkverkehr für einen bestimmten TCP-Port (Port 80) mithilfe der Anzeigefilter-Syntax von Wireshark mit der Option -Y "tcp.port==80" filtern. Port 80 ist der Standardport für HTTP-Webverkehr, daher hilft dieser Filter, webbezogene Kommunikationen in Ihrer Netzwerkerfassung zu isolieren.

Bevor wir beginnen, verstehen wir zunächst, was dieser Filter tut: Er zeigt alle TCP-Pakete an, bei denen entweder der Quell- ODER der Zielport 80 ist. Dies unterscheidet sich von der spezifischen Filterung nach Quell- oder Zielport, was wir später behandeln werden.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Verzeichnis befinden, in dem sich Ihre Erfassungsdatei befindet:

    cd ~/project
  2. Um Ihren zuvor erfassten Verkehr für Port 80 (HTTP) zu filtern, führen Sie aus:

    tshark -r tcp_capture.pcap -Y "tcp.port==80"

    Der -r-Schalter gibt die Eingabedatei an, während -Y den Anzeigefilter anwendet. Dieser Befehl liest Pakete aus tcp_capture.pcap, zeigt aber nur diejenigen an, die Port 80 betreffen.

  3. Die Ausgabe zeigt nur Pakete an, die Port 80 entweder als Quell- oder als Zielport betreffen:

     1 0.000000000    192.168.1.2 → 93.184.216.34 TCP 74 49152 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460
     2 0.028763000  93.184.216.34 → 192.168.1.2 TCP 74 80 → 49152 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0
     3 0.028852000    192.168.1.2 → 93.184.216.34 TCP 66 49152 → 80 [ACK] Seq=1 Ack=1 Win=64240 Len=0

    Diese Ausgabe zeigt einen vollständigen TCP-Dreifach-Handshake (SYN, SYN-ACK, ACK) zwischen einem Client (192.168.1.2) und einem Webserver (93.184.216.34).

  4. Um speziell auf den Verkehr zu Port 80 (Zielport) zu filtern, der Anfragen an Webserver zeigt:

    tshark -r tcp_capture.pcap -Y "tcp.dstport==80"
  5. Um auf den Verkehr von Port 80 (Quellport) zu filtern, der typischerweise Webserverantworten zeigt:

    tshark -r tcp_capture.pcap -Y "tcp.srcport==80"
  6. Sie können dies mit anderen Filtern kombinieren, um eine genauere Analyse durchzuführen. Beispielsweise, um nur HTTP GET-Anfragen (der häufigste Typ von Webanfragen) anzuzeigen:

    tshark -r tcp_capture.pcap -Y "tcp.port==80 && http.request.method==GET"

    Dies kombiniert einen Portfilter mit einem HTTP-Protokollfilter, um speziell anzuzeigen, wann Webbrowser Seiten von Servern anfordern.

Anzeigen von Ergebnissen mit -V

In diesem Schritt werden wir untersuchen, wie Sie umfassende Paketdetails mit der -V-Option (ausführliche Ausgabe) von Wireshark anzeigen können. Beim Beheben von Netzwerkproblemen ist es von entscheidender Bedeutung, die vollständige Protokollaufschlüsselung zu sehen. Der -V-Schalter zeigt jede Schicht des Netzwerkstapels, von Ethernet-Frames bis hin zu Anwendungsschichtprotokollen, und hilft Ihnen, genau zu verstehen, was in Ihrem Netzwerkverkehr passiert.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Verzeichnis befinden, in dem sich Ihre Erfassungsdatei befindet. Dies ist wichtig, da Tshark auf die Datei zugreifen muss, die Sie analysieren möchten:

    cd ~/project
  2. Der grundlegende Befehl zum Anzeigen aller Paketdetails zeigt Ihnen alles an, was Tshark dekodieren kann. Dies ist nützlich, wenn Sie die vollständige Struktur der Netzwerkkommunikation untersuchen müssen:

    tshark -r tcp_capture.pcap -V
  3. Die ausführliche Ausgabe zeigt technische Details in einem strukturierten Format an. Hier ist, was jeder Teil bedeutet:

    • Frame: Informationen auf der physischen Ebene über die Paketgröße
    • Ethernet II: MAC-Adressen auf der Datenlink-Schicht
    • IP: Adressierung auf der Netzwerkschicht
    • TCP: Ports und Sequenznummern auf der Transportschicht
    Frame 1: 74 bytes on wire (592 bits), 74 bytes captured (592 bits)
    Ethernet II, Src: 00:11:22:33:44:55, Dst: 66:77:88:99:aa:bb
    Internet Protocol Version 4, Src: 192.168.1.2, Dst: 93.184.216.34
    Transmission Control Protocol, Src Port: 49152, Dst Port: 80, Seq: 0, Ack: 0, Len: 0
  4. Wenn Sie mit großen Erfassungen arbeiten, hilft die Kombination von Filtern mit ausführlicher Ausgabe, sich auf relevanten Verkehr zu konzentrieren. Dieses Beispiel zeigt nur HTTP-Verkehr (Port 80) und begrenzt die Ausgabe auf die ersten 20 Zeilen:

    tshark -r tcp_capture.pcap -Y "tcp.port==80" -V | head -n 20
  5. Für die Dokumentation oder eine spätere Analyse können Sie die detaillierte Ausgabe in eine Textdatei speichern. Dies erstellt eine dauerhafte Aufzeichnung Ihrer Paketüberprüfung:

    tshark -r tcp_capture.pcap -V > verbose_output.txt
  6. Um bestimmte Protokollelemente wie HTTP-Header zu untersuchen, kombinieren Sie Protokollfilter mit ausführlichem Modus. Dies hilft beim Debuggen von Webanwendungen oder bei der Analyse von HTTP-Transaktionen:

    tshark -r tcp_capture.pcap -Y "http" -V

Zusammenfassung

In diesem Lab haben Sie gelernt, TCP-Konversationen mit dem Befehlszeilentool tshark von Wireshark zu analysieren. Sie haben TCP-Verkehr mit spezifischen Filtern erfasst, Details des TCP-Handshakes untersucht und Beispielverkehr für die Analyse generiert.

Darüber hinaus haben Sie Techniken zur Auflistung von TCP-Konversationen zwischen Endpunkten und zur Filterung von Verkehr für bestimmte Ports erkundet. Das Lab hat Ihnen praktische Erfahrungen bei der Paketüberprüfung mithilfe ausführlicher Ausgabe und Konversationsstatistiken für eine effektive Netzwerkanalyse vermittelt.