Datenverkehr in Wireshark filtern

WiresharkBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie, Netzwerkdatenverkehr mit Wireshark zu filtern, einem wichtigen Werkzeug für die Netzwerkanalyse. Sie analysieren eine vorab aufgezeichnete Paketdatei, wenden Anzeigefilter an, um bestimmten Datenverkehr zu isolieren, und exportieren die gefilterten Ergebnisse zur weiteren Untersuchung. Diese Kenntnisse helfen Ihnen, Netzwerkmuster zu erkennen, Verbindungsprobleme zu untersuchen und Netzwerkkommunikation zu verstehen.

Erste Schritte mit Tshark

Bevor Sie die grafische Oberfläche verwenden, beginnen Sie mit tshark, der Befehlszeilenversion von Wireshark. Dieses leistungsfähige Werkzeug eignet sich für schnelle Analysen und Skripte. In diesem Schritt überprüfen Sie die Installation und führen eine grundlegende Untersuchung einer bereitgestellten Paketaufzeichnungsdatei durch.

  1. Überprüfen Sie zunächst, ob tshark korrekt installiert ist, indem Sie die Version anzeigen.

    tshark --version
    

    Die Ausgabe sollte die Wireshark- und tshark-Version enthalten, ähnlich wie hier:

    TShark (Wireshark) x.x.x (Git vx.x.x packaged as x.x.x-1)
    ...
    
  2. In Ihrem Projektverzeichnis wurde eine Beispiel-Paketaufzeichnungsdatei mit dem Namen capture.pcap abgelegt. Überprüfen Sie mit dem Befehl ls, ob die Datei vorhanden ist.

    ls -lh capture.pcap
    

    Die Ausgabe zeigt die Dateiinformationen einschließlich Größe und Namen.

    -rw-rw-r-- 1 labex labex 9.1M Oct 24  2015 capture.pcap
    
  3. Verwenden Sie das mit Wireshark gelieferte Dienstprogramm capinfos, um eine Übersicht über die Aufzeichnungsdatei zu erhalten.

    capinfos capture.pcap
    

    Dieser Befehl liefert Metadaten zur Datei, zum Beispiel die Anzahl der Pakete, die Aufzeichnungsdauer und die durchschnittliche Paketgröße.

    File name:           capture.pcap
    File type:           Wireshark/tcpdump/... - pcap
    File encapsulation:  Ethernet
    File timestamp precision:  microseconds (6)
    Packet size limit:   file hdr: 65535 bytes
    Number of packets:   14 k
    File size:           9444 kB
    Data size:           9216 kB
    Capture duration:    298.505344 seconds
    First packet time:   2011-01-26 02:52:22.484409
    Last packet time:    2011-01-26 02:57:20.989753
    Data byte rate:      30 kBps
    Data bit rate:       247 kbps
    Average packet size: 646.28 bytes
    Average packet rate: 47 packets/s
    SHA256:              77d06d3f33f1a95fb9f2610f20ead8ce978449077d6ba22d4945b85bd48f75d1
    RIPEMD160:           68e950b2e438c7be011a46646ddfc8105b65b339
    SHA1:                06e502dca8dbfe8e6a9cabc61f722d94756f6db9
    Strict time order:   True
    Number of interfaces in file: 1
    Interface #0 info:
                         Encapsulation = Ethernet (1 - ether)
                         Capture length = 65535
                         Time precision = microseconds (6)
                         Time ticks per second = 1000000
                         Number of stat entries = 0
                         Number of packets = 14261
    
  4. Lesen Sie abschließend mit tshark die ersten fünf Pakete aus der Datei. Das Flag -r legt die Eingabedatei fest, und -c begrenzt die Anzahl der Pakete.

    tshark -r capture.pcap -c 5
    

    Für jedes der ersten fünf Pakete wird eine einzeilige Zusammenfassung angezeigt. So erhalten Sie einen schnellen Überblick über den Datenverkehr.

        1   0.000000 192.168.3.131 → 72.14.213.138 HTTP 997 GET /complete/search?client=chrome&hl=en-US&q=cr HTTP/1.1
        2   0.029841 72.14.213.138 → 192.168.3.131 HTTP 440 HTTP/1.1 200 OK  (text/javascript)
        3   0.223883 192.168.3.131 → 72.14.213.102 TCP 66 55950 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1
        4   0.229423 192.168.3.131 → 72.14.213.138 TCP 54 57011 → 80 [ACK] Seq=944 Ack=387 Win=16192 Len=0
        5   0.242649 72.14.213.102 → 192.168.3.131 TCP 66 80 → 55950 [SYN, ACK] Seq=0 Ack=1 Win=5720 Len=0 MSS=1430 SACK_PERM=1 WS=64
    

Grundlegendes Filtern mit Tshark

Paketaufzeichnungen können Tausende von Paketen enthalten. Dadurch wird es schwierig, bestimmte Informationen zu finden. Anzeigefilter schränken die Ansicht auf Pakete ein, die bestimmte Kriterien erfüllen. In diesem Schritt lernen Sie, grundlegende Filter mit tshark anzuwenden.

  1. Anzeigefilter werden mit dem Flag -Y (großes Y) angewendet. Verwenden Sie den Filter tcp, um nur TCP-Pakete anzuzeigen. Lassen Sie uns die ersten fünf TCP-Pakete der Datei anzeigen.

    tshark -r capture.pcap -Y "tcp" -c 5
    

    Die Ausgabe enthält nun nur Pakete, deren Protokoll TCP ist.

  2. Sie können auch nach IP-Adressen filtern. Verwenden Sie den Filter ip.src, um alle Pakete anzuzeigen, die von der Quell-IP-Adresse 192.168.3.131 stammen.

    tshark -r capture.pcap -Y "ip.src == 192.168.3.131" -c 5
    

    Beachten Sie die Verwendung von == für eine exakte Übereinstimmung.

  3. Filter lassen sich mit logischen Operatoren wie && (AND) kombinieren. Kombinieren Sie die beiden vorherigen Filter, um TCP-Pakete von der Quell-IP-Adresse 192.168.3.131 zu finden.

    tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131"
    
  4. Sie können die gefilterte Ausgabe zur späteren Analyse in einer neuen Aufzeichnungsdatei speichern. Das Flag -w legt die Ausgabedatei fest. Speichern Sie die gefilterten TCP-Pakete in einer Datei mit dem Namen filtered_tcp.pcap.

    tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131" -w filtered_tcp.pcap
    
  5. Überprüfen Sie, ob die neue Datei erstellt wurde.

    ls -lh filtered_tcp.pcap
    

    Im Verzeichnis sollte die neue, kleinere Aufzeichnungsdatei angezeigt werden.

Datenverkehr mit der Wireshark-GUI untersuchen

Tshark eignet sich hervorragend für die Automatisierung. Die grafische Benutzeroberfläche (GUI) von Wireshark bietet jedoch eine umfangreiche, interaktive Umgebung für eine detaillierte Paketanalyse. In diesem Schritt starten Sie die Wireshark-GUI und untersuchen ihre wichtigsten Bereiche.

  1. Starten Sie die Wireshark-Anwendung über Ihr Terminal. Wichtig: Verwenden Sie die Desktop Interface und keine eigenständige Terminal Interface. Wireshark ist eine GUI-Anwendung und benötigt für den korrekten Betrieb eine grafische Umgebung. Das kaufmännische Und & am Ende führt die Anwendung im Hintergrund aus, sodass Ihr Terminal für weitere Befehle frei bleibt.

    wireshark &
    

    Lassen Sie Wireshark geöffnet, während Sie diesen Schritt abschließen und die Schrittprüfung ausführen.

    Hinweis: Wenn Sie diesen Befehl in einem eigenständigen Terminal ohne Desktop-Umgebung ausführen, kann Wireshark nicht gestartet werden. Verwenden Sie für GUI-Anwendungen immer die Desktop Interface.

    Wireshark Desktop Interface

  2. Das Wireshark-Hauptfenster wird angezeigt. Da Sie eine vorhandene Datei analysieren, müssen Sie keine Netzwerkschnittstelle auswählen. Öffnen Sie stattdessen die Datei capture.pcap.

    • Öffnen Sie die Menüleiste und klicken Sie auf File -> Open....
    • Wechseln Sie im Dateidialog zu /home/labex/project und wählen Sie capture.pcap aus.
    • Klicken Sie auf die Schaltfläche Open.
  3. Im Hauptfenster werden nun die Pakete aus der Datei angezeigt. Nehmen Sie sich einen Moment Zeit, um sich mit den drei Hauptbereichen vertraut zu machen:

    Wireshark Main Window

    • Paketlistenbereich (oben): Eine Liste aller Pakete in der Aufzeichnung mit Spalten für Paketnummer, Zeit, Quelle, Ziel, Protokoll und weitere zusammenfassende Informationen.
    • Paketdetailbereich (Mitte): Eine detaillierte, aufklappbare Ansicht der Protokollebenen des aktuell im Paketlistenbereich ausgewählten Pakets. Sie können jede Ebene, zum Beispiel Ethernet, IP oder TCP, aufklappen, um ihre Felder anzuzeigen.
    • Paketbytebereich (unten): Die Rohdaten des ausgewählten Pakets in Hexadezimal- und ASCII-Darstellung.
  4. Klicken Sie im Paketlistenbereich auf verschiedene Pakete und beobachten Sie, wie sich die Informationen im Paketdetailbereich und im Paketbytebereich entsprechend aktualisieren. Diese interaktive Untersuchung gehört zu den leistungsfähigsten Funktionen von Wireshark.

Anzeigefilter in der GUI anwenden

Die mit tshark erlernte Syntax für Anzeigefilter funktioniert in der Wireshark-GUI identisch. Die GUI liefert sofort visuelles Feedback und erleichtert dadurch das Erstellen und Testen komplexer Filter.

  1. Suchen Sie oben im Wireshark-Fenster die Anzeigefilterleiste. Dabei handelt es sich um ein langes Texteingabefeld, das häufig den Platzhaltertext „Apply a display filter...“ enthält.

  2. Filtern Sie den HTTP-Datenverkehr. Geben Sie http in die Filterleiste ein und drücken Sie Enter oder klicken Sie auf die Schaltfläche Apply (ein Pfeil rechts neben der Leiste).

    http
    

    Wireshark HTTP Filter

    Der Paketlistenbereich wird sofort aktualisiert und zeigt nur HTTP-Pakete an. Die Filterleiste wird grün. Das zeigt an, dass die Filtersyntax gültig ist. Bei einem ungültigen Filter wird die Leiste rot.

  3. Suchen Sie nun den gesamten DNS-Datenverkehr. Löschen Sie den vorherigen Filter, geben Sie dns in die Filterleiste ein und drücken Sie Enter.

    dns
    

    Nun sehen Sie alle Abfragen und Antworten des Domain Name System in der Aufzeichnung.

  4. Sie können Filter genauso kombinieren wie mit tshark. Verwenden Sie den Filter ip.addr zusammen mit dem Filter http, um HTTP-Datenverkehr zu finden, an dem die IP-Adresse 192.168.3.131 als Quelle oder Ziel beteiligt ist.

    http && ip.addr == 192.168.3.131
    

    Wireshark HTTP Filter

    Mit dieser leistungsfähigen Kombination können Sie bestimmte Kommunikationsverbindungen gezielt untersuchen. Probieren Sie weitere Filter aus, zum Beispiel tcp.port == 80 für Datenverkehr über den standardmäßigen HTTP-Port oder udp für UDP-Datenverkehr. Klicken Sie auf die Schaltfläche X in der Filterleiste, um einen Filter zu löschen und wieder alle Pakete anzuzeigen.

Gefilterte Daten exportieren

Nachdem Sie den Datenverkehr gefiltert und ein interessantes Ereignis isoliert haben, müssen Sie die Ergebnisse häufig für Berichte, zur Weitergabe oder zur weiteren Analyse in anderen Werkzeugen exportieren. Wireshark und tshark bieten dafür mehrere Möglichkeiten.

  1. Wenden Sie zunächst in der Wireshark-GUI den Filter http wie im vorherigen Schritt an.

  2. Speichern Sie nur die angezeigten (gefilterten) Pakete in einer neuen Aufzeichnungsdatei:

    • Öffnen Sie File -> Export Specified Packets....
    • Stellen Sie im Dialogfeld unter „All Packets“ sicher, dass das Optionsfeld Displayed ausgewählt ist.
    • Nennen Sie die Datei http_capture.pcap und speichern Sie sie im Verzeichnis /home/labex/project.

    Wireshark Export Specified Packets

  3. Sie können die Paketübersicht auch als Text- oder CSV-Datei exportieren. Für den CSV-Export:

    • Öffnen Sie File -> Export Packet Dissections -> As CSV....
    • Stellen Sie sicher, dass für „All Packets“ Displayed ausgewählt ist.
    • Nennen Sie die Datei http_packets.csv und speichern Sie sie in Ihrem Projektverzeichnis.
  4. Sie können dieselben Exportvorgänge auch über tshark in der Befehlszeile ausführen. Das ist für die Automatisierung nützlich. Der folgende Befehl liest die ursprüngliche Datei capture.pcap, filtert nach http und exportiert bestimmte Felder in eine CSV-Datei.

    tshark -r capture.pcap -Y "http" -T fields -e frame.number -e ip.src -e ip.dst -e http.request.method -e http.host -E header=y -E separator=, > http_export_cli.csv
    
    • -T fields: Legt das Ausgabeformat fest.
    • -e ...: Legt die zu exportierenden Felder (Spalten) fest.
    • -E header=y: Fügt eine Kopfzeile hinzu.
    • -E separator=,: Verwendet ein Komma als Trennzeichen.
  5. Überprüfen Sie, ob die exportierten Dateien erstellt wurden.

    ls -lh http_*
    

    In Ihrem Verzeichnis sollten die Dateien http_capture.pcap, http_packets.csv und http_export_cli.csv angezeigt werden.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen des Filterns von Netzwerkdatenverkehr mit Wireshark und dem Gegenstück für die Befehlszeile, tshark, gelernt. Zunächst haben Sie eine Aufzeichnungsdatei mit tshark und capinfos untersucht. Anschließend haben Sie Anzeigefilter verwendet, um bestimmte Protokolle und IP-Adressen zu isolieren – zuerst mit tshark und danach in der interaktiven Wireshark-GUI. Schließlich haben Sie gelernt, die gefilterten Ergebnisse in neue Aufzeichnungsdateien und lesbare CSV-Dateien für Berichte und Analysen zu exportieren. Diese grundlegenden Kenntnisse bilden die Basis für Aufgaben der Netzwerkanalyse und Fehlerbehebung.