Netzwerkanalyse mit Wireshark

WiresharkBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie Techniken der Netzwerkanalyse mit Wireshark kennen, dem Industriestandard für Netzwerkprotokoll-Analysatoren. Dieses leistungsstarke Tool ermöglicht es Ihnen, den Netzwerkverkehr auf Paketebene zu untersuchen und liefert wertvolle Erkenntnisse für die Fehlerbehebung und Sicherheitsanalyse.

Sie erwerben praktische Fähigkeiten im Erfassen, Filtern und Interpretieren von Netzwerkpaketen. Durch praktische Übungen werden Sie verstehen, wie verschiedene Protokolle kommunizieren und wie man potenzielle Netzwerkprobleme identifiziert.

Wireshark installieren

In diesem Schritt installieren wir Wireshark auf unserem Ubuntu-System. Wireshark ist ein Netzwerkprotokoll-Analysator, mit dem Sie Netzwerkverkehr erfassen und interaktiv durchsuchen können. Da es in den Standard-Ubuntu-Repositorys verfügbar ist, ist der Installationsprozess für Anfänger sehr einfach.

  1. Öffnen Sie zunächst das Terminal. Suchen und öffnen Sie auf Ihrem Desktop das Xfce Terminal. Im Terminal führen wir alle Befehle zur Installation und Konfiguration von Wireshark aus.

Xfce Terminal-Fenster öffnen

Hinweis: Kostenlose Benutzer haben keinen Internetzugang, daher ist Wireshark in der Lab-Umgebung bereits vorinstalliert. Sie können direkt zu Punkt 5 der Liste springen (überprüfen, ob Wireshark installiert ist). Werden Sie Pro-Benutzer, um die Installation von Wireshark selbst zu üben.

Nur für Pro-Benutzer
  1. Bevor Sie Software installieren, ist es bewährte Praxis, die Paketlisten zu aktualisieren. Dies stellt sicher, dass wir die neueste verfügbare Version von Wireshark installieren. Führen Sie den folgenden Befehl aus:
sudo apt update
  1. Jetzt installieren wir Wireshark selbst. Das Flag -y beantwortet automatisch alle Eingabeaufforderungen während der Installation mit "Ja", was den Prozess reibungsloser gestaltet:
sudo apt install wireshark -y
  1. Während der Installation werden Sie auf eine wichtige Sicherheitsabfrage stoßen, ob Nicht-Superuser Pakete erfassen dürfen. Dies ist eine wichtige Konfigurationsentscheidung – die Auswahl von "Ja" bedeutet, dass Sie keine Root-Rechte benötigen, um Wireshark auszuführen, was für den täglichen Gebrauch sicherer ist. Verwenden Sie die Pfeiltasten, um "Ja" auszuwählen, und drücken Sie die Eingabetaste.

Wireshark Installationsaufforderung

  1. Überprüfen Sie nach Abschluss der Installation, ob Wireshark korrekt installiert wurde. Die Versionsprüfung bestätigt den Erfolg der Installation und zeigt an, welche Version Sie verwenden:
wireshark --version
  1. Um Netzwerkverkehr zu erfassen, müssen wir die entsprechenden Berechtigungen konfigurieren. Dies beinhaltet das Hinzufügen Ihres Benutzers zur Gruppe wireshark und das Einrichten von Dumpcap (Wiresharks Paketerfassungstool) mit den richtigen Berechtigungen:

Überprüfen Sie zunächst, ob die Gruppe wireshark existiert (sie sollte während der Installation erstellt worden sein):

getent group wireshark

Falls die Gruppe aus irgendeinem Grund nicht existiert, erstellen Sie sie mit:

sudo groupadd wireshark

Diese Befehle konfigurieren Dumpcap so, dass es mit erhöhten Rechten ausgeführt wird, während Wireshark selbst als normaler Benutzer läuft – eine bewährte Sicherheitsmethode:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
sudo gpasswd -a $USER wireshark

Nachdem Sie diese Befehle ausgeführt haben, müssen Sie sich ab- und wieder anmelden, damit die Gruppenänderungen wirksam werden. Sie haben Wireshark nun erfolgreich installiert und konfiguriert und sind bereit, den Netzwerkverkehr zu analysieren!

Netzwerkverkehr erfassen

Nachdem Wireshark installiert ist, lassen Sie uns etwas Netzwerkverkehr erfassen. Stellen Sie sich das wie das Aufstellen eines Mikrofons vor, um alle Gespräche in Ihrem Netzwerk aufzuzeichnen. Jedes Mal, wenn Ihr Computer online Daten sendet oder empfängt, werden diese in kleine Stücke, sogenannte Pakete, zerlegt. Wireshark ermöglicht es uns, diese Pakete zu sehen und zu analysieren.

  1. Öffnen Sie Wireshark, indem Sie wireshark im Terminal eingeben und die Eingabetaste drücken. Dies startet die grafische Oberfläche, in der wir die Paketerfassung durchführen werden.

  2. Wenn Wireshark geöffnet wird, sehen Sie eine Liste der Netzwerkschnittstellen (die Verbindungen, die Ihr Computer verwendet, um mit Netzwerken zu kommunizieren). Suchen Sie nach einer Schnittstelle namens "eth0" oder "eth1" – dies sind normalerweise Ihre kabelgebundenen Ethernet-Verbindungen. Wenn Sie WLAN verwenden, sehen Sie möglicherweise stattdessen "wlan0".

Auswahl der Wireshark-Schnittstelle

  1. Doppelklicken Sie auf die aktive Schnittstelle (diejenige, bei der die Paketanzahl steigt), um die Erfassung zu starten. Das Hauptfenster zeigt nun einen Live-Stream von Paketen – jede Zeile stellt eine andere Netzwerkunterhaltung dar, die gerade stattfindet.

Wireshark Paketerfassungsfenster

  1. Lassen Sie uns etwas einfache Netzwerkaktivität erzeugen, um sie zu erfassen. Öffnen Sie ein neues Terminalfenster und geben Sie ein:

    curl http://example.com
    

    Dieser Befehl ruft die Homepage von example.com ab und generiert HTTP-Pakete (Webverkehr), die Wireshark erfassen kann. Sie werden sehen, dass sofort nach der Ausführung neue Pakete in Wireshark erscheinen.

  2. Nachdem Sie einige Pakete gesehen haben (etwa 5-10 Sekunden reichen aus), klicken Sie oben auf die rote "Stop"-Schaltfläche. Dies friert die Erfassung ein, sodass wir die Pakete untersuchen können, ohne dass ständig neue eintreffen.

  3. Herzlichen Glückwunsch! Sie haben Ihren ersten Netzwerkverkehr erfasst. Jede Zeile stellt ein Paket mit Details wie Quell-/Zieladressen, Protokolltyp und Zeitstempel dar. Die drei Hauptbereiche zeigen: die Paketliste (Zusammenfassung), Paketdetails (technische Aufschlüsselung) und die rohen Paketdaten (hexadezimale Ansicht).

  4. Um Ihre Arbeit zu speichern, gehen Sie auf Datei > Speichern und benennen Sie die Datei myfirstcapture.pcapng im Verzeichnis /home/labex. Das Format .pcapng bewahrt alle Paketdetails für zukünftige Analysen.

Speichern der Netzwerkerfassungsdatei

Dieser grundlegende Erfassungsprozess ist das Fundament der Netzwerkanalyse. In den kommenden Schritten lernen wir, wie man diese Pakete filtert und interpretiert, um das Netzwerkverhalten zu verstehen und Probleme zu beheben.

Paketdaten analysieren

Nachdem wir nun etwas Netzwerkverkehr erfasst haben, wollen wir ihn Schritt für Schritt untersuchen. Stellen Sie sich das wie das Lesen eines digitalen Gesprächs vor – wir lernen, die "Sprache" zu interpretieren, die Computer zur Kommunikation verwenden.

  1. Die Erfassungsdatei öffnen:
    Starten Sie Wireshark und öffnen Sie Ihre gespeicherte Erfassungsdatei (myfirstcapture.pcapng) entweder über Datei > Öffnen oder durch Doppelklick auf die Datei. Diese Datei enthält den gesamten zuvor aufgezeichneten Netzwerkverkehr, ähnlich wie eine Aufzeichnung von Telefongesprächen.

  2. Die Paketliste verstehen:
    Der obere Bereich zeigt alle erfassten Pakete in chronologischer Reihenfolge. Jede Zeile stellt eine Netzwerknachricht dar und zeigt:

    • Wer sie gesendet hat (Quell-IP)
    • Wer sie empfangen hat (Ziel-IP)
    • Welche Art von Kommunikation es war (Protokoll)
    • Eine kurze Zusammenfassung (Info)
  3. Paketdetails untersuchen:
    Wenn Sie auf ein beliebiges Paket klicken, zeigt der mittlere Bereich dessen interne Struktur durch Protokollschichten:

    • Frame: Physische Netzwerkdetails
    • Ethernet: Hardware-Adressierung
    • IP: Internet-Routing-Informationen
    • TCP/UDP: Transportdetails
    • Anwendungsdaten (wie HTTP)
  4. HTTP-Verkehr filtern:
    Geben Sie in der Filterleiste (oben) http ein und drücken Sie die Eingabetaste. Dies isoliert den Webverkehr, genau wie die Suche nach Textnachrichten in einem Telefonprotokoll. HTTP ist das Protokoll, das Webbrowser zur Kommunikation mit Servern verwenden.

Wireshark HTTP-Paketfilter

  1. Webanfragen identifizieren:
    Suchen Sie nach Paketen mit "GET" in der Info-Spalte. Diese stellen dar, wie Ihr Browser Webseiten anfordert. Klicken Sie auf eines, um Folgendes zu sehen:
    • Die exakt angeforderte URL
    • Welche Website kontaktiert wurde
    • Technische Details zur Anfrage

HTTP GET Paketdetails

  1. HTTP-Header analysieren:
    Erweitern Sie den Abschnitt "Hypertext Transfer Protocol", um Folgendes zu sehen:

    • Anfragemethode (GET/POST)
    • Angeforderte Ressource (/index.html)
    • Browser-Informationen
    • Cookies und andere Metadaten
  2. Serverantworten finden:
    Suchen Sie nach "HTTP/1.1 200 OK"-Paketen. Diese zeigen erfolgreiche Webseitenübertragungen an. Achten Sie auf:

    • Antwortcodes (200=Erfolg, 404=nicht gefunden)
    • Servertyp (Apache/Nginx)
    • Inhaltstyp (HTML, Bilder, etc.)

HTTP Server erfolgreiches Antwortpaket

  1. Webinhalte anzeigen:
    Überprüfen Sie bei erfolgreichen Antworten den Abschnitt "Line-based text data", um den tatsächlichen Webseiteninhalt zu sehen. Dies zeigt den HTML-Code, den der Server an Ihren Browser gesendet hat.

Diese Analyse enthüllt die verborgenen Gespräche, die über Netzwerke stattfinden. Durch das Verständnis dieser Muster können Sie Probleme beheben, verdächtige Aktivitäten identifizieren und nachvollziehen, wie Anwendungen kommunizieren.

Filter verwenden

Die wahre Stärke von Wireshark liegt in der Fähigkeit, große Mengen an Netzwerkdaten schnell zu filtern und zu analysieren. In diesem Schritt lernen wir, wie man Filter verwendet, um sich auf bestimmte Arten von Verkehr zu konzentrieren. Betrachten Sie Filter als Suchbegriffe, die Ihnen helfen, genau das zu finden, wonach Sie in einem Meer von Netzwerkpaketen suchen.

  1. Beginnen wir bei geöffneter Erfassungsdatei in Wireshark mit einigen einfachen Anzeigefiltern. Die Filterleiste befindet sich direkt unter der Hauptsymbolleiste:

    • Um nur TCP-Verkehr (das häufigste Transportprotokoll) anzuzeigen, geben Sie tcp in die Filterleiste ein und drücken Sie die Eingabetaste. Dies blendet alle Nicht-TCP-Pakete aus.
    • Um Verkehr zu oder von einer bestimmten IP-Adresse anzuzeigen, geben Sie ip.addr == x.x.x.x ein und ersetzen Sie x.x.x.x durch eine Adresse aus Ihrer Erfassung oder von einer DNS-Abfrage. Führen Sie für die aktuelle Adresse von example.com dig example.com +short im Terminal aus und verwenden Sie eine der ausgegebenen IPs. Der Wert 93.184.215.14 ist in diesem Lab-Text nur ein Platzhalter; echte Adressen ändern sich im Laufe der Zeit. Das doppelte Gleichheitszeichen (==) bedeutet "stimmt exakt überein".

    Wireshark TCP-Filterbeispiel

    • Um alle HTTP GET-Anfragen (die häufigste Art von Webanfrage) anzuzeigen, geben Sie http.request.method == "GET" ein. Dies hilft Ihnen zu sehen, welche Webseiten angefordert werden.
  2. Lassen Sie uns nun einen komplexeren Filter erstellen, indem wir Bedingungen kombinieren. Wir suchen nach allen HTTP GET-Anfragen, die speziell an example.com gehen:

    • Geben Sie in die Filterleiste ein: http.request.method == "GET" && http.host contains "example.com"
    • Das && bedeutet "UND", daher müssen beide Bedingungen wahr sein.
    • Der contains-Operator ermöglicht es uns, jede Domain abzugleichen, die "example.com" enthält.

    Wireshark HTTP GET-Filter

    • Dieser Filter zeigt alle GET-Anfragen an jede Domain, die "example.com" enthält, was nützlich ist, um den Verkehr zu bestimmten Websites zu überwachen.
  3. Da Sie bestimmte Filter wahrscheinlich wiederholt verwenden werden, können Sie diese in Wireshark speichern. Lassen Sie uns unseren HTTP GET-Filter speichern:

    • Klicken Sie auf das Pluszeichen ("+") neben der Filterleiste. Dies öffnet das Filterverwaltungsfenster.
    • Nennen Sie den Filter "HTTP GETs" und klicken Sie auf Speichern. Wählen Sie einen beschreibenden Namen, den Sie sich merken können.
    • Sie können diesen Filter nun jederzeit schnell anwenden, indem Sie ihn aus der Liste der gespeicherten Filter (das Lesezeichen-Symbol neben der Filterleiste) auswählen.
  4. Lassen Sie uns abschließend einige unserer Ergebnisse für die Dokumentation oder weitere Analysen exportieren:

    • Gehen Sie zu Statistik > HTTP > Anfragen, um eine Zusammenfassung aller HTTP-Anfragen zu sehen.
    • Klicken Sie auf "Speichern unter", um die Liste in eine Datei zu exportieren.
    • Wählen Sie /home/labex als Speicherort und speichern Sie die Datei als http_requests.txt.

    Exportieren der HTTP-Anfrageliste

Die Verwendung von Filtern auf diese Weise ermöglicht es Ihnen, große Mengen an Netzwerkdaten schnell zu durchsuchen und sich auf das Wesentliche zu konzentrieren. Es ist, als hätten Sie eine Lupe mit Superkräften, die Ihnen sofort bestimmte Arten von Netzwerkverkehr anzeigen kann. Das Beherrschen von Filtern spart Ihnen Stunden bei der Fehlerbehebung von Netzwerkproblemen oder der Analyse von Sicherheitsereignissen.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen der Netzwerkanalyse mit Wireshark kennengelernt. Sie haben wesentliche Fähigkeiten erworben, darunter die Installation von Wireshark, das Erfassen von Netzwerkverkehr, das Analysieren von Paketdaten und das Anwenden von Filtern zur Isolierung bestimmter Verkehrsarten.

Diese Kernkompetenzen bilden ein solides Fundament für Cybersicherheit und Netzwerkadministration. Wireshark dient als leistungsstarkes Werkzeug zur Fehlerbehebung in Netzwerken, zur Überwachung von Verkehrsmustern und zur Identifizierung potenzieller Sicherheitsbedrohungen. Üben Sie weiter, um Ihre Expertise in der Netzwerkanalyse weiter auszubauen.