Netzwerkverkehr in Wireshark filtern

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 Netzwerkverkehr mit Wireshark filtern können. Wireshark ist ein essentielles Tool für die Netzwerkanalyse und die Untersuchung von Cybersicherheitsproblemen. Sie üben das Erfassen von Live-Paketen, das Anwenden von Anzeigefiltern, um bestimmten Verkehr zu isolieren, und das Exportieren der gefilterten Ergebnisse für eine weitere Untersuchung.

Das Lab bietet praktische Erfahrungen mit den Kernfunktionen von Wireshark, von der Schnittstellenauswahl bis zur Verkehrsanalyse. Diese Fähigkeiten helfen Ihnen, Netzwerkmuster zu identifizieren, Konnektivitätsprobleme zu beheben und potenzielle Sicherheitsbedrohungen in Netzwerkkommunikationen zu erkennen.


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-549939{{"Netzwerkverkehr in Wireshark filtern"}} wireshark/interface -.-> lab-549939{{"Netzwerkverkehr in Wireshark filtern"}} wireshark/packet_capture -.-> lab-549939{{"Netzwerkverkehr in Wireshark filtern"}} wireshark/display_filters -.-> lab-549939{{"Netzwerkverkehr in Wireshark filtern"}} wireshark/export_packets -.-> lab-549939{{"Netzwerkverkehr in Wireshark filtern"}} end

Installieren von Wireshark

In diesem Schritt installieren Sie Wireshark, einen leistungsstarken Netzwerkprotokoll-Analyzer, der es Ihnen ermöglicht, Netzwerkverkehr in Echtzeit zu untersuchen. Stellen Sie sich Wireshark wie ein Mikroskop für Netzwerkkommunikationen vor - es erfasst Pakete, die durch Ihr Netzwerk wandern, und zeigt sie in einem lesbaren Format an.

Bevor wir beginnen, ist es wichtig zu verstehen, dass Wireshark besondere Berechtigungen benötigt, um Netzwerkdaten zu erfassen. Deshalb werden wir es sorgfältig konfigurieren, damit es auf Ihrer LabEx-VM (virtuellen Maschine) richtig funktioniert.

  1. Zunächst müssen wir die Paketliste aktualisieren. Dadurch wird sichergestellt, dass Ihr System über die neuesten verfügbaren Softwareversionen informiert ist:

    sudo apt update
  2. Installieren Sie nun Wireshark mit diesem Befehl. Das -y-Flag bestätigt die Installation automatisch:

    sudo apt install -y wireshark
  3. Während der Installation fragt Wireshark nach dem Zugang für Nicht-Superuser. Wir konfigurieren dies im Voraus mithilfe von debconf (Debian-Konfigurationssystem), um gewöhnlichen Benutzern das Erfassen von Paketen zu ermöglichen:

    echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections
  4. Als Nächstes fügen wir Ihren Benutzer zur Gruppe 'wireshark' hinzu. Dadurch werden die erforderlichen Berechtigungen erteilt, ohne dass root-Zugang erforderlich ist:

    sudo usermod -aG wireshark $USER
  5. Lassen Sie uns überprüfen, ob die Installation funktioniert hat, indem wir die Version überprüfen. Dies bestätigt, dass Wireshark richtig installiert ist:

    wireshark --version

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    Wireshark 3.6.8 (Git v3.6.8 packaged as 3.6.8-1~ubuntu20.04.0)
  6. Änderungen an der Gruppenmitgliedschaft erfordern eine neue Anmeldesitzung. In einem normalen System würden Sie sich ausloggen und wieder einloggen, aber in LabEx öffnen Sie einfach einen neuen Terminal-Tab, damit die Änderungen wirksam werden.

Denken Sie daran, dass diese Konfigurationsschritte von entscheidender Bedeutung sind, da Netzwerküberwachungstools wie Wireshark besondere Berechtigungen benötigen, um auf Netzwerkschnittstellen zuzugreifen. Wir möchten sie jedoch sicher nutzen können, ohne immer root-Zugang zu benötigen.

Auswählen einer Netzwerkschnittstelle

In diesem Schritt lernen Sie, wie Sie eine Netzwerkschnittstelle in Wireshark identifizieren und auswählen können, um Pakete zu erfassen. Netzwerkschnittstellen sind die Verbindungspunkte zwischen Ihrem Computer und dem Netzwerk. Stellen Sie sich sie wie Türen vor, durch die Netzwerkverkehr in Ihren Computer hinein- und hinausfließt. Jede Schnittstelle hat einen eindeutigen Namen und Eigenschaften, die bestimmen, welche Art von Verkehr sie erfassen kann.

  1. Zunächst listen wir alle verfügbaren Netzwerkschnittstellen auf Ihrem System mithilfe des integrierten Befehls von Wireshark auf. Dies hilft Ihnen, alle möglichen Erfassungspunkte zu sehen, bevor Sie eine auswählen:

    wireshark -D

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

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

    Die Ausgabe zeigt Schnittstellennamen mit Nummern. 'eth0' ist typischerweise Ihr physischer Ethernet-Anschluss, während 'lo' für internen Loopback-Verkehr verwendet wird.

  2. Für detailliertere Informationen zur Schnittstelle können wir den Linux-Befehl ip verwenden. Dies zeigt nicht nur die Namen, sondern auch ihren aktuellen Betriebszustand:

    ip link show

    Dies zeigt alle Netzwerkschnittstellen mit ihrem aktuellen Zustand (UP/DOWN) an. Eine Schnittstelle muss aktiv (UP) sein, um Verkehr zu erfassen.

  3. Für unsere Lab-Umgebung verwenden wir die eth0-Schnittstelle, die in Linux-Systemen typischerweise die primäre Ethernet-Schnittstelle ist. Bevor wir sie verwenden, überprüfen wir ihren Status, um sicherzustellen, dass sie aktiv ist:

    ip link show eth0

    Suchen Sie nach "state UP" in der Ausgabe, um zu bestätigen, dass die Schnittstelle aktiv ist. Wenn sie DOWN angezeigt wird, müssen Sie die Verbindung beheben, bevor Sie fortfahren.

  4. Jetzt testen wir die Paketerfassung auf dieser Schnittstelle mithilfe der Terminal-Version von Wireshark (tshark). Dieser schnelle Test hilft, sicherzustellen, dass alles funktioniert, bevor Sie die vollständige GUI verwenden:

    sudo tshark -i eth0 -c 5

    Dieser Befehl erfasst 5 Pakete von der eth0-Schnittstelle (-i gibt die Schnittstelle an, -c legt die Paketanzahl fest) und zeigt sie im Terminal an. Das sudo ist erforderlich, da die Paketerfassung root-Berechtigungen erfordert.

  5. Um Wireshark im GUI-Modus zu starten (den wir in späteren Schritten für erweiterte Filterung verwenden werden):

    wireshark &

    Im Wireshark-GUI sehen Sie die Liste der verfügbaren Schnittstellen im Hauptfenster. Das Ampersand (&) führt Wireshark im Hintergrund aus, sodass Sie weiterhin das Terminal verwenden können.

Live-Netzwerkverkehr erfassen

In diesem Schritt lernen Sie, wie Sie mithilfe von Wireshark live Netzwerkverkehr erfassen können. Die Paketerfassung ist der Prozess des Abfangens und Protokollierens von Netzwerkverkehr, der es Ihnen ermöglicht, Netzwerkkommunikationen in Echtzeit zu analysieren. Dies ist grundlegend für die Netzwerkfehlersuche und die Sicherheitsanalyse.

  1. Zunächst starten Sie Wireshark im GUI-Modus über das Terminal. Das &-Symbol führt den Befehl im Hintergrund aus, sodass Sie weiterhin das Terminal verwenden können:

    wireshark &
  2. Wenn Wireshark geöffnet ist, sehen Sie eine Liste der verfügbaren Netzwerkschnittstellen. Diese repräsentieren die physischen und virtuellen Netzwerkverbindungen auf Ihrem Gerät. Wählen Sie eth0 (die Schnittstelle, die wir im vorherigen Schritt identifiziert haben) aus, indem Sie darauf doppelklicken. Dies ist typischerweise Ihre primäre Ethernet-Schnittstelle.

  3. Wireshark beginnt sofort, den gesamten Netzwerkverkehr auf dieser Schnittstelle zu erfassen. Das Hauptfenster zeigt die Pakete in drei Abschnitten an: die Paketliste (Zusammenfassung), die Paketdetails (Protokollaufschlüsselung) und die Paketbytes (rohe Daten in Hexadezimalnotation). Die Pakete erscheinen in Echtzeit, sobald sie erfasst werden.

  4. Um etwas Testverkehr zur Erfassung zu generieren, öffnen Sie ein neues Terminal und führen Sie einen einfachen Ping-Befehl aus. Dieser sendet ICMP-Echoanfragen an Google's DNS-Server (8.8.8.8):

    ping -c 4 8.8.8.8
  5. In Wireshark sollten Sie jetzt ICMP-Pakete in der Erfassung sehen. Diese repräsentieren Ihre Ping-Anfragen und -Antworten. Jede Paketzeile zeigt wichtige Metadaten an:

    • Paketnummer (Reihenfolge in der Erfassung)
    • Zeitstempel (wann es erfasst wurde)
    • Quell- und Ziel-IP-Adressen
    • Protokoll (in diesem Fall ICMP)
    • Paketlänge in Bytes
    • Kurze Informationen über den Paketinhalt
  6. Um die Erfassung abzubrechen, wenn Sie fertig sind, klicken Sie auf die rote Quadrat-Schaltfläche "Stop" in der Symbolleiste. Dies fixiert die Anzeige, sodass Sie die erfassten Pakete untersuchen können.

  7. Um Ihre Erfassung für eine spätere Analyse zu speichern:

    • Klicken Sie auf "Datei" → "Speichern unter"
    • Benennen Sie die Datei ping_capture.pcapng (.pcapng ist Wireshark's Erfassungsformat)
    • Speichern Sie sie in Ihrem ~/project-Verzeichnis für einfachen Zugriff
  8. Für die Erfassung über die Kommandozeile (nützlich für Automatisierung oder Remote-Systeme) können Sie tshark, die Kommandozeilenversion von Wireshark, verwenden. Dieser Befehl erfasst genau 10 Pakete von eth0 und speichert sie:

    sudo tshark -i eth0 -w ~/project/cli_capture.pcap -c 10

    Das -w-Flag gibt die Ausgabedatei an, und -c begrenzt die Paketanzahl.

Anzeigefilter anwenden

In diesem Schritt lernen Sie, wie Sie die Anzeigefilter von Wireshark verwenden können, um sich auf bestimmten Netzwerkverkehr zu konzentrieren. Anzeigefilter helfen Ihnen, die erfassten Pakete zu analysieren, indem sie nur diejenigen anzeigen, die Ihren Kriterien entsprechen. Stellen Sie sich sie wie Suchbegriffe vor, mit denen Sie schnell die genauen Netzwerkgespräche finden können, an denen Sie interessiert sind, unter Tausenden von Paketen.

  1. Zunächst öffnen Sie die zuvor gespeicherte Erfassungsdatei in Wireshark:

    wireshark ~/project/ping_capture.pcapng &

    Dieser Befehl öffnet Wireshark im Hintergrund (&) und lädt Ihre gespeicherte Paketerfassung. Die .pcapng-Datei enthält den gesamten Netzwerkverkehr, den Sie zuvor aufgezeichnet haben.

  2. Um nach ICMP-Verkehr (Ping-Pakete) zu filtern, geben Sie Folgendes in die Filterleiste oben ein:

    icmp

    Drücken Sie Enter, und Sie sehen nur ICMP-Pakete in der Anzeige. ICMP ist das Protokoll, das von Ping-Befehlen verwendet wird. Dieser Filter hilft Ihnen also, den mit Ping verbundenen Netzwerkverkehr von anderen Verkehrsträgern zu isolieren.

  3. Um nach Verkehr zu/von einer bestimmten IP-Adresse (z. B. 8.8.8.8) zu filtern:

    ip.addr == 8.8.8.8

    Dieser Filter zeigt alle Pakete an, bei denen 8.8.8.8 als Quell- oder Ziel-IP-Adresse auftritt. Das doppelte Gleichheitszeichen (==) wird in Wireshark-Filtern für exakte Übereinstimmungen verwendet.

  4. Kombinieren Sie Filter mit logischen Operatoren:

    icmp && ip.addr == 8.8.8.8

    Dies zeigt nur ICMP-Pakete an, die 8.8.8.8 betreffen. Der &&-Operator bedeutet "UND", sodass beide Bedingungen erfüllt sein müssen, damit ein Paket angezeigt wird.

  5. Einige andere nützliche Filter:

    • HTTP-Verkehr: http (zeigt Web-Browsing-Aktivität)
    • DNS-Abfragen: dns (zeigt Domainnamen-Abfragen)
    • Verkehr von einer bestimmten Quelle: ip.src == 192.168.1.1 (zeigt Pakete, die von dieser IP-Adresse stammen)
    • Verkehr zu einem bestimmten Ziel: ip.dst == 8.8.8.8 (zeigt Pakete, die an diese IP-Adresse gesendet werden)
  6. Um Ihre gefilterte Ansicht zu speichern:

    • Klicken Sie auf "Datei" → "Ausgewählte Pakete exportieren"
    • Wählen Sie "Angezeigt" aus und speichern Sie als filtered_ping.pcapng in ~/project

    Dies erstellt eine neue Erfassungsdatei, die nur die gefilterten Pakete enthält. Dies ist nützlich, um bestimmte Verkehrsmuster zu teilen oder für eine weitere Analyse.

  7. Für die Filterung über die Kommandozeile (mit tshark):

    tshark -r ~/project/ping_capture.pcapng -Y "icmp" -w ~/project/tshark_filtered.pcap

    Diese alternative Methode verwendet die Kommandozeilenversion von Wireshark (tshark), um Pakete zu filtern und zu speichern, ohne die grafische Benutzeroberfläche zu öffnen. Das -Y-Flag gibt den Filterausdruck an, ähnlich wie in der Wireshark-GUI.

Gefilterte Daten exportieren

In diesem Schritt lernen Sie, wie Sie gefilterte Paketdaten aus Wireshark in verschiedenen Formaten exportieren können, um sie zu analysieren und Berichte zu erstellen. Das Exportieren von Daten ermöglicht es Ihnen, Ihre Ergebnisse mit Kollegen zu teilen oder die Daten in andere Analysetools zu importieren.

  1. Zunächst öffnen Sie die gefilterte Erfassungsdatei in Wireshark. Hierbei wird davon ausgegangen, dass Sie in vorherigen Schritten bereits Pakete erfasst und gefiltert haben:

    wireshark ~/project/filtered_ping.pcapng &
  2. Um alle angezeigten Pakete (nach Anwenden der Filter) im nativen Format von Wireshark zu exportieren:

    • Klicken Sie in der Menüleiste auf "Datei" → "Ausgewählte Pakete exportieren"
    • Stellen Sie sicher, dass "Angezeigt" ausgewählt ist, um nur die Pakete zu exportieren, die Ihren aktuellen Filtern entsprechen
    • Speichern Sie die Datei als exported_packets.pcapng in ~/project für eine spätere Analyse
  3. Mit dem Kommandozeilentool tshark von Wireshark können Sie Daten in verschiedenen Formaten exportieren. Hier sind einige häufige Beispiele:

    • Für das CSV-Format (nützlich für die Analyse in Tabellenkalkulationen):

      tshark -r ~/project/filtered_ping.pcapng -T fields -e frame.number -e ip.src -e ip.dst -E header=y -E separator=, > ~/project/packet_data.csv

      Dieser Befehl exportiert die Paketnummern, Quell- und Ziel-IP-Adressen mit Spaltenüberschriften.

    • Für eine detaillierte Ausgabe im Klartext:

      tshark -r ~/project/filtered_ping.pcapng -V > ~/project/packet_details.txt

      Dies zeigt die vollständigen Paketdetails ähnlich wie in der Wireshark-Oberfläche.

  4. Das JSON-Format ist nützlich für die programmgesteuerte Analyse. Exportieren Sie alle Paketdaten als JSON:

    tshark -r ~/project/filtered_ping.pcapng -T json > ~/project/packets.json
  5. Überprüfen Sie nach dem Export, ob alle Dateien korrekt erstellt wurden, indem Sie sie auflisten:

    ls -lh ~/project/*.pcapng ~/project/*.csv ~/project/*.txt ~/project/*.json
  6. Um schnell zu überprüfen, wie viele Pakete in Ihre PCAPNG-Datei exportiert wurden:

    capinfos ~/project/exported_packets.pcapng | grep "Number of packets"

    Dies bestätigt, dass Ihr Filter wie erwartet funktioniert hat, indem es die Anzahl der Pakete anzeigt.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie mithilfe von praktischen Übungen den Netzwerkverkehr mit Wireshark filtern können. Die wichtigsten Schritte umfassten die Installation von Wireshark, die Konfiguration der Benutzerberechtigungen, die Identifizierung von Netzwerkschnittstellen und die Erfassung von Live-Verkehr auf der Schnittstelle eth0.

Sie haben auch das Anwenden von Anzeigefiltern zur Analyse bestimmter Pakete und das Exportieren von gefilterten Daten geübt. Diese Fähigkeiten bilden die Grundlage für eine effiziente Netzwerkverkehrsanalyse mithilfe der leistungsstarken Filterfunktionen von Wireshark.