Datenverkehr in Wireshark filtern

WiresharkBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie, wie Sie Netzwerkverkehr mit Wireshark filtern, einem unverzichtbaren Werkzeug für die Netzwerkanalyse. Sie werden üben, eine bereits aufgezeichnete Paketdatei zu analysieren, Anzeigefilter anzuwenden, um bestimmten Datenverkehr zu isolieren, und die gefilterten Ergebnisse für weitere Untersuchungen zu exportieren. Diese Fähigkeiten helfen Ihnen dabei, Netzwerkmuster zu identifizieren, Verbindungsprobleme zu beheben und die Netzwerkkommunikation besser zu verstehen.

Erste Schritte mit Tshark

Bevor Sie sich mit der grafischen Benutzeroberfläche beschäftigen, beginnen Sie mit tshark, der Kommandozeilenversion von Wireshark. Es ist ein leistungsstarkes Tool für schnelle Analysen und Skripting. In diesem Schritt überprüfen Sie die Installation und führen eine grundlegende Inspektion einer bereitgestellten Paketaufzeichnungsdatei durch.

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

    tshark --version

    Sie sollten eine Ausgabe sehen, die die Version von Wireshark und tshark angibt, ähnlich wie hier:

    TShark (Wireshark) x.x.x (Git vx.x.x packaged as x.x.x-1)
    ...
  2. Eine Beispiel-Paketaufzeichnungsdatei namens capture.pcap wurde in Ihrem Projektverzeichnis abgelegt. Verwenden Sie den Befehl ls, um deren Vorhandensein zu bestätigen.

    ls -lh capture.pcap

    Die Ausgabe zeigt die Dateidetails, einschließlich Größe und Name.

    -rw-rw-r-- 1 labex labex 9.1M Oct 24  2015 capture.pcap
  3. Um eine allgemeine Zusammenfassung der Aufzeichnungsdatei zu erhalten, verwenden Sie das Dienstprogramm capinfos, das zusammen mit Wireshark installiert wird.

    capinfos capture.pcap

    Dieser Befehl liefert Metadaten über die Datei, wie die Anzahl der Pakete, die Dauer der Aufzeichnung 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. Verwenden Sie schließlich tshark, um die ersten fünf Pakete aus der Datei zu lesen. Das Flag -r gibt die Eingabedatei an, und -c begrenzt die Anzahl der Pakete.

    tshark -r capture.pcap -c 5

    Dies zeigt eine einzeilige Zusammenfassung für jedes der ersten fünf Pakete an und gibt Ihnen einen schnellen Einblick in 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, was das Auffinden spezifischer Informationen erschwert. Anzeigefilter werden verwendet, um die Ansicht auf Pakete zu beschränken, 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. Um nur TCP-Pakete anzuzeigen, verwenden Sie den Filter tcp. Lassen Sie uns die ersten fünf TCP-Pakete in der Datei ansehen.

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

    Die Ausgabe zeigt nun nur noch Pakete an, bei denen das Protokoll TCP ist.

  2. Sie können auch nach IP-Adressen filtern. Um alle Pakete zu sehen, die von der Quell-IP-Adresse 192.168.3.131 stammen, verwenden Sie den Filter ip.src.

    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 können mit logischen Operatoren wie && (UND) kombiniert werden. Um TCP-Pakete von der Quell-IP 192.168.3.131 zu finden, kombinieren Sie die beiden vorherigen Filter.

    tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131"
  4. Sie können die gefilterte Ausgabe in einer neuen Aufzeichnungsdatei für spätere Analysen speichern. Das Flag -w gibt die Ausgabedatei an. Speichern wir die gefilterten TCP-Pakete in einer Datei namens 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

    Sie sehen Ihre neue, kleinere Aufzeichnungsdatei im Verzeichnis aufgelistet.

Untersuchung des Datenverkehrs mit der Wireshark-GUI

Während tshark hervorragend für die Automatisierung geeignet ist, bietet die grafische Benutzeroberfläche (GUI) von Wireshark eine funktionsreiche, interaktive Umgebung für die tiefgehende Paketanalyse. In diesem Schritt starten Sie die Wireshark-GUI und erkunden deren Hauptkomponenten.

  1. Starten Sie die Wireshark-Anwendung über Ihr Terminal. Wichtig: Stellen Sie sicher, dass Sie das Desktop-Interface verwenden und nicht ein reines Terminal-Interface, da Wireshark eine GUI-Anwendung ist, die eine grafische Umgebung benötigt. Das kaufmännische Und-Zeichen & am Ende führt die Anwendung im Hintergrund aus, sodass Ihr Terminal für andere Befehle frei bleibt.

    wireshark &

    Hinweis: Wenn Sie versuchen, diesen Befehl in einem reinen Terminal ohne Desktop-Umgebung auszuführen, wird Wireshark nicht starten. Verwenden Sie für GUI-Anwendungen immer das Desktop-Interface.

    Wireshark Desktop Interface
  2. Das Hauptfenster von Wireshark erscheint. Da wir eine vorhandene Datei analysieren, müssen Sie kein Netzwerkinterface auswählen. Öffnen Sie stattdessen die Datei capture.pcap.

    • Gehen Sie in der Menüleiste auf File -> Open....
    • Navigieren Sie im Dateidialog zu /home/labex/project und wählen Sie capture.pcap aus.
    • Klicken Sie auf die Schaltfläche Open.
  3. Das Hauptfenster wird nun mit den Paketen aus der Datei gefüllt. Nehmen Sie sich einen Moment Zeit, um sich mit den drei Hauptbereichen vertraut zu machen:

    Wireshark Main Window
    • Paketliste (Oben): Eine Liste aller Pakete in der Aufzeichnung mit Spalten für Paketnummer, Zeit, Quelle, Ziel, Protokoll und weiteren Zusammenfassungen.
    • Paketdetails (Mitte): Eine detaillierte, erweiterbare Ansicht der Protokollschichten für das aktuell in der Liste ausgewählte Paket. Sie können jede Schicht (z. B. Ethernet, IP, TCP) erweitern, um deren Felder zu sehen.
    • Paket-Bytes (Unten): Die Rohdaten des ausgewählten Pakets, dargestellt in Hexadezimal- und ASCII-Format.
  4. Klicken Sie auf verschiedene Pakete in der Paketliste und beobachten Sie, wie sich die Informationen in den Bereichen Paketdetails und Paket-Bytes entsprechend aktualisieren. Diese interaktive Erkundung ist eine der leistungsstärksten Funktionen von Wireshark.

Anwenden von Anzeigefiltern in der GUI

Die Syntax der Anzeigefilter, die Sie mit tshark gelernt haben, funktioniert in der Wireshark-GUI identisch. Die GUI bietet sofortiges visuelles Feedback, was das Erstellen und Testen komplexer Filter erleichtert.

  1. Suchen Sie die Anzeigefilter-Leiste oben im Wireshark-Fenster. Es ist ein langes Texteingabefeld, oft mit dem Platzhaltertext "Apply a display filter...".

  2. Filtern wir nach HTTP-Verkehr. 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

    Die Paketliste wird sofort aktualisiert und zeigt nur noch HTTP-Pakete an. Beachten Sie, dass die Filterleiste grün wird, was auf eine gültige Filtersyntax hinweist. Wenn Sie einen ungültigen Filter eingeben, wird sie rot.

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

    dns

    Sie sehen nun alle DNS-Anfragen (Domain Name System) und -Antworten in der Aufzeichnung.

  4. Sie können Filter genau wie bei tshark kombinieren. Um HTTP-Verkehr zu finden, an dem die IP-Adresse 192.168.3.131 beteiligt ist (entweder als Quelle oder Ziel), verwenden Sie den Filter ip.addr kombiniert mit dem Filter http.

    http && ip.addr == 192.168.3.131
    Wireshark HTTP Filter

    Diese leistungsstarke Kombination ermöglicht es Ihnen, sich auf spezifische Konversationen zu konzentrieren. Experimentieren Sie mit anderen Filtern, wie tcp.port == 80 (für Verkehr auf dem Standard-HTTP-Port) oder udp (für UDP-Verkehr). Um einen Filter zu löschen und wieder alle Pakete zu sehen, klicken Sie auf die Schaltfläche X in der Filterleiste.

Exportieren gefilterter Daten

Nachdem Sie den Datenverkehr gefiltert haben, um ein interessantes Ereignis zu isolieren, müssen Sie die Ergebnisse oft für Berichte, zum Teilen oder für weitere Analysen in anderen Tools exportieren. Wireshark und tshark bieten mehrere Möglichkeiten zum Datenexport.

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

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

    • Gehen Sie zu File -> Export Specified Packets....
    • Stellen Sie im Dialogfeld sicher, dass unter "All Packets" das Optionsfeld Displayed ausgewählt ist.
    • Benennen Sie die Datei http_capture.pcap und speichern Sie sie in Ihrem Verzeichnis /home/labex/project.
    Wireshark Export Specified Packets
  3. Sie können die Paketzusammenfassung auch als Text- oder CSV-Datei exportieren. So exportieren Sie als CSV:

    • Gehen Sie zu File -> Export Packet Dissections -> As CSV....
    • Stellen Sie sicher, dass Displayed für "All Packets" ausgewählt ist.
    • Benennen Sie die Datei http_packets.csv und speichern Sie sie in Ihrem Projektverzeichnis.
  4. Sie können dieselben Exportvorgänge mit tshark auf der Kommandozeile durchführen. Dies ist nützlich für die Automatisierung. Der folgende Befehl liest die ursprüngliche Datei capture.pcap, filtert nach http und exportiert spezifische 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: Gibt das Ausgabeformat an.
    • -e ...: Gibt die zu exportierenden Felder (Spalten) an.
    • -E header=y: Fügt eine Kopfzeile hinzu.
    • -E separator=,: Verwendet ein Komma als Trennzeichen.
  5. Überprüfen Sie, ob Ihre exportierten Dateien erstellt wurden.

    ls -lh http_*

    Sie sollten die Dateien http_capture.pcap, http_packets.csv und http_export_cli.csv in Ihrem Verzeichnis sehen.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen des Filterns von Netzwerkverkehr mit Wireshark und seinem Kommandozeilen-Pendant tshark erlernt. Sie haben damit begonnen, eine Aufzeichnungsdatei mit tshark und capinfos zu inspizieren. Anschließend haben Sie geübt, Anzeigefilter anzuwenden, um spezifische Protokolle und IP-Adressen zu isolieren – zuerst mit tshark und dann in der interaktiven Wireshark-GUI. Schließlich haben Sie gelernt, wie Sie Ihre gefilterten Ergebnisse in neue Aufzeichnungsdateien und menschenlesbare CSV-Dateien für Berichte und Analysen exportieren. Diese Kernkompetenzen sind die Basis für jede Netzwerkanalyse oder Fehlerbehebung.