Wireshark Capture Filter für die Netzwerkanalyse anwenden

WiresharkBeginner
Jetzt üben

Einführung

In diesem Lab erfahren Sie, wie Sie Wireshark - Capture - Filter nutzen können, um Netzwerkverkehr gezielt nach bestimmten Kriterien aufzuzeichnen. Capture - Filter sind leistungsstarke Werkzeuge, die es Ihnen ermöglichen, sich auf relevante Daten zu konzentrieren und irrelevanten Verkehr auszuschließen, wodurch Ihre Analyse effizienter wird.

Sie werden verschiedene Capture - Filter - Ausdrücke untersuchen und sie auf reale Szenarien anwenden. Diese praktische Erfahrung wird Ihre Fähigkeiten in der Netzwerkfehlersuche und Sicherheitsanalyse verbessern.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 80% ist. Es hat eine positive Bewertungsrate von 95% von den Lernenden erhalten.

Grundlagen der Syntax von Aufnahmefiltern verstehen

In der Welt der Netzwerkanalyse kann es überwältigend sein, mit einer großen Datenmenge umzugehen. Hier kommen die Capture - Filter in Wireshark ins Spiel. Capture - Filter ermöglichen es Ihnen, nur bestimmte Pakete zu erfassen, die Ihren Kriterien entsprechen. Dies reduziert erheblich die Datenmenge, die Sie analysieren müssen. Es ist wichtig zu beachten, dass Capture - Filter sich von Anzeigefiltern (Display - Filtern) unterscheiden. Anzeigefilter werden verwendet, um bereits erfasste Pakete zu filtern, während Capture - Filter während des Paketerfassungsvorgangs wirken.

Was sind Capture - Filter?

Capture - Filter verwenden die Berkeley Packet Filter (BPF) - Syntax. BPF ist eine spezialisierte Sprache, die entwickelt wurde, um Netzwerkpakete zu filtern, bevor sie von Anwendungen wie Wireshark verarbeitet werden. Durch die Anwendung dieser Filter können Sie mehrere wichtige Ziele erreichen:

  • Reduzierung der erfassten Datenmenge: Anstatt den gesamten Netzwerkverkehr zu erfassen, können Sie sich auf die relevanten Teile konzentrieren, was Speicherplatz und Rechenleistung spart.
  • Fokussierung auf bestimmte Verkehrstypen: Sie können bestimmte Arten von Netzwerkaktivitäten anvisieren, wie z. B. HTTP - Anfragen oder SSH - Verbindungen.
  • Verbesserung der Leistung während der Paketerfassung: Mit weniger Daten, die verarbeitet werden müssen, wird der Paketerfassungsvorgang schneller und effizienter.
  • Vereinfachung der anschließenden Analyse: Wenn Sie über einen kleineren und relevanteren Datensatz verfügen, ist es viel einfacher, zu analysieren und Schlussfolgerungen zu ziehen.

Grundlegende Syntax von Capture - Filtern

Capture - Filter in Wireshark verwenden eine spezifische Syntax, die auf der libpcap - Filtersprache basiert. Schauen wir uns einige häufige Elemente an:

  • host: Dieses Element filtert den Verkehr anhand der IP - Adresse oder des Hostnamens. Beispielsweise wird Wireshark mit dem Filter host 192.168.0.2 den gesamten Verkehr zu oder von der angegebenen IP - Adresse erfassen.
  • net: Es filtert den Verkehr anhand einer Netzwerkadresse und einer Subnetzmaske. Beispielsweise wird der Filter net 10.0.0.0/24 den Verkehr aus dem Netzwerk 10.0.0.0/24 erfassen.
  • port: Dieser filtert den Verkehr anhand der Portnummer. Beispielsweise wird port 80 verwendet, um HTTP - Verkehr zu erfassen, da HTTP normalerweise Port 80 nutzt.
  • protocol: Es filtert den Verkehr anhand des Protokolls. Beispielsweise wird tcp den gesamten TCP - Verkehr erfassen, und udp wird den gesamten UDP - Verkehr erfassen.

Sie können diese Elemente mit logischen Operatoren kombinieren:

  • and oder &&: Wenn Sie diesen Operator verwenden, müssen beide Bedingungen erfüllt sein, damit ein Paket erfasst wird.
  • or oder ||: Mit diesem Operator kann eine der Bedingungen erfüllt sein, damit ein Paket erfasst wird.
  • not oder !: Dieser Operator negiert eine Bedingung. Wenn Sie also not tcp verwenden, wird Wireshark den gesamten Nicht - TCP - Verkehr erfassen.

Üben wir mit einem einfachen Filter

Jetzt setzen wir das, was wir gelernt haben, um. Befolgen Sie diese Schritte, um Wireshark zu öffnen und einen grundlegenden Capture - Filter anzuwenden:

  1. Zunächst müssen Sie ein Terminal öffnen. Sie können dies tun, indem Sie auf das Terminal - Symbol in der Taskleiste des Desktops klicken oder Strg+Alt+T drücken.

  2. Sobald das Terminal geöffnet ist, geben Sie den folgenden Befehl ein, um Wireshark zu starten:

    wireshark
  3. Wenn Wireshark geöffnet ist, sehen Sie den Hauptstartbildschirm. Auf diesem Bildschirm werden alle verfügbaren Netzwerkschnittstellen auf Ihrem System angezeigt.

  4. Suchen Sie das Eingabefeld "Capture Filter:" oben im Wireshark - Fenster. Hier geben Sie Ihren Capture - Filter ein.

    Wireshark capture filter syntax
  5. Geben Sie tcp in das Filterfeld ein. Dadurch sagen Sie Wireshark, dass es nur TCP - Pakete erfassen soll.

  6. Wählen Sie aus der Liste der Schnittstellen diejenige aus, die mit any bezeichnet ist. Die Auswahl von any bedeutet, dass Wireshark Pakete auf allen Netzwerkschnittstellen erfassen wird.

  7. Klicken Sie auf die blaue Hai - Flosse Start - Schaltfläche. Dadurch wird der Paketerfassungsvorgang mit dem von Ihnen angewendeten Filter gestartet.

    Capture filter
  8. Lassen Sie Wireshark etwa 10 - 15 Sekunden laufen. In dieser Zeit wird es einige TCP - Pakete erfassen. Sie sollten beginnen, Pakete im Hauptfenster erscheinen zu sehen.

  9. Um die Erfassung zu stoppen, klicken Sie auf die rote Quadrat Stop - Schaltfläche in der Symbolleiste.

  10. Jetzt möchten Sie die erfassten Pakete für eine spätere Analyse speichern. Klicken Sie in der Menüleiste auf File > Save As.

  11. Navigieren Sie im Dateispeicherdialog zum Verzeichnis /home/labex/project.

  12. Geben Sie step1.pcapng als Dateinamen ein und klicken Sie auf Save.

    Save captured packets

Sie haben nun erfolgreich einen grundlegenden Capture - Filter angewendet, um nur TCP - Pakete zu sammeln, und die Ergebnisse für eine spätere Analyse gespeichert.

Anwenden von Aufnahmefiltern für bestimmten Verkehr

In diesem Schritt konzentrieren wir uns auf die Erfassung spezifischen Netzwerkverkehrs. Insbesondere lernen Sie, wie Sie einen spezifischeren Capture-Filter anwenden, um HTTP-Traffic auf Port 80 zu erfassen. HTTP-Traffic auf Port 80 ist im Internet sehr verbreitet, da er für unverschlüsselte Webkommunikation verwendet wird. Nach der Einrichtung des Filters verwenden Sie ein Skript, um Test-Traffic zu generieren. Dies hilft Ihnen zu sehen, wie der Filter in einem realen Szenario funktioniert.

Erstellen einer neuen Erfassung mit einem spezifischen Filter

Zuerst richten wir eine neue Erfassung mit einem Filter für Port 80 ein. Bevor wir mit einer neuen Erfassung beginnen, müssen wir sicherstellen, dass keine vorherigen Erfassungen geöffnet sind.

  1. Wenn Sie die vorherige Erfassung noch geöffnet haben, schließen Sie sie, indem Sie auf Datei > Schließen klicken oder auf die Schaltfläche Diese Erfassungsdatei schließen (X) in der oberen rechten Ecke der Paketliste klicken. Dieser Schritt ist wichtig, da mehrere geöffnete Erfassungen zu Verwirrung führen und die Genauigkeit Ihrer neuen Erfassung beeinträchtigen können.

    Close this capture file
  2. Sobald Sie die vorherige Erfassung geschlossen haben, sollten Sie nun den Wireshark-Begrüßungsbildschirm mit den verfügbaren Schnittstellen sehen. Auf diesem Bildschirm beginnen Sie mit der Konfiguration Ihrer neuen Erfassung.

  3. Wir werden diesmal eine detailliertere Methode zur Festlegung des Capture-Filters verwenden. Klicken Sie auf die Schaltfläche Capture Options (oder gehen Sie zu Capture > Options im Menü). Der Dialog Capture Options gibt Ihnen mehr Kontrolle darüber, wie Wireshark Pakete erfasst, einschließlich der Festlegung des Capture-Filters.

    Capture filter
  4. Im Dialog Capture Options sehen Sie eine Liste von Schnittstellen und unten ein Eingabefeld für Capture Filter. Die Schnittstellen repräsentieren die auf Ihrem System verfügbaren Netzwerkverbindungen, und das Feld Capture Filter ist der Ort, an dem Sie die Bedingungen für die zu erfassenden Pakete festlegen.

    Capture filter
  5. Klicken Sie in das Feld Capture Filter und geben Sie den Filter ein: tcp port 80. Dieser Filter erfasst nur TCP-Traffic, der Port 80 verwendet. Durch die Angabe von tcp port 80 sind wir spezifischer als nur port 80 – wir weisen Wireshark an, nur TCP-Pakete zu erfassen, die sich auf HTTP-Traffic auf diesem Port beziehen, und jeglichen UDP-Traffic auszuschließen, der ebenfalls Port 80 verwenden könnte. Dies ist präziser für die Analyse von HTTP-Traffic, da HTTP typischerweise TCP als sein Transportprotokoll verwendet.

  6. Alternativ können Sie auf die Schaltfläche Capture Filter: klicken, um aus gespeicherten Filter-Lesezeichen auszuwählen. Dies kann nützlich sein, wenn Sie eine Reihe von Filtern haben, die Sie häufig verwenden.

    Capture filter
  7. Im Dialog zur Filterauswahl können Sie aus vordefinierten Filtern wählen oder einen neuen erstellen. Geben Sie für jetzt einfach port 80 direkt in das Filterfeld ein. Dies stellt sicher, dass wir den spezifischen Traffic erfassen, an dem wir interessiert sind.

    Capture filter
  8. Stellen Sie sicher, dass die Schnittstelle any ausgewählt ist, und klicken Sie auf die Schaltfläche Start, um mit der Erfassung von Paketen zu beginnen, die dem Filter entsprechen. Die Auswahl von any bedeutet, dass Wireshark Pakete von allen verfügbaren Netzwerkschnittstellen erfasst.

Generieren von Test-Traffic

Jetzt, da Wireshark Traffic auf Port 80 erfasst, generieren wir etwas Test-Traffic, um den Filter in Aktion zu sehen. Dies hilft Ihnen zu bestätigen, dass der Filter wie erwartet funktioniert.

  1. Öffnen Sie ein neues Terminalfenster, indem Sie auf das Terminal-Symbol in der Taskleiste klicken oder Strg+Alt+T drücken. Das Terminal ist der Ort, an dem Sie Befehle zur Generierung des Test-Traffics ausführen.

  2. Navigieren Sie im neuen Terminal zum Projektverzeichnis:

    cd /home/labex/project

    Dieser Befehl ändert das aktuelle Arbeitsverzeichnis in das Projektverzeichnis, in dem sich das Skript zur Generierung von Traffic befindet.

  3. Führen Sie das vorbereitete Skript aus, um simulierten HTTP-Traffic zu generieren:

    ./simulate_traffic.sh

    Dieses Skript ist darauf ausgelegt, einen einfachen Server zu erstellen, der auf Port 80 lauscht, und einige Daten daran zu senden, um realen HTTP-Traffic zu simulieren.

  4. Sie sollten eine Ausgabe ähnlich dieser sehen:

    Netcat server listening on port 80...
    Sending data to port 80...
    Please check the Wireshark output for the data sent to port 80.

    Diese Ausgabe zeigt an, dass das Skript korrekt funktioniert und Daten an Port 80 gesendet werden.

  5. Dieses Skript erstellt einen einfachen Server, der auf Port 80 lauscht, und sendet eine kurze Nachricht "Hello, Wireshark!" daran. Diese Nachricht wird von Wireshark erfasst, wenn der Filter korrekt funktioniert.

Analysieren des erfassten Traffics

  1. Kehren Sie zum Wireshark-Fenster zurück. Sie sollten die vom Skript generierten Pakete sehen. Dies sind die Ergebnisse des gerade generierten Test-Traffics.

  2. Diese Pakete sollten die Kommunikation auf Port 80 zeigen, die unserem Capture-Filter entspricht. Dies bestätigt, dass der Filter wie erwartet funktioniert.

    Capture port 80
  3. In der Paketliste sollten Sie mindestens 3 Pakete sehen:

    • TCP SYN-Paket zur Herstellung der Verbindung: Dies ist der erste Schritt im TCP-Drei-Wege-Handshake, bei dem der Client eine Verbindung mit dem Server anfordert.
    • TCP SYN-ACK-Paket zur Bestätigung der Verbindung: Der Server antwortet auf die SYN-Anfrage des Clients und zeigt an, dass er bereit ist, eine Verbindung herzustellen.
    • TCP-Paket mit den "Hello, Wireshark!"-Daten: Dies ist das eigentliche Datenpaket, das die vom Skript gesendete Nachricht enthält.
  4. Klicken Sie auf eines der Pakete, um seine Details im mittleren Bereich anzuzeigen. Sie können Abschnitte erweitern, indem Sie auf die Pfeilsymbole klicken. Dies ermöglicht es Ihnen, die verschiedenen Teile des Pakets anzuzeigen, wie z. B. die Header und die Daten.

  5. Stoppen Sie nun die Erfassung, indem Sie auf die rote quadratische Schaltfläche Stop in der Symbolleiste klicken. Das Stoppen der Erfassung ist wichtig, damit Sie mit der Analyse der erfassten Pakete beginnen können, ohne dass neue Pakete hinzugefügt werden.

  6. Speichern Sie die erfassten Pakete, indem Sie im Menü auf Datei > Speichern unter klicken. Das Speichern der Pakete ermöglicht es Ihnen, später darauf zurückzugreifen und sie weiter zu analysieren.

  7. Navigieren Sie im Dialog zum Speichern von Dateien zum Verzeichnis /home/labex/project. Dies ist das Verzeichnis, in dem wir die erfassten Pakete speichern möchten.

  8. Geben Sie step2.pcapng als Dateinamen ein und klicken Sie auf Speichern. Das Dateiformat .pcapng ist ein gängiges Format zum Speichern von Netzwerkpaket-Erfassungen.

Sie haben erfolgreich einen spezifischen Capture-Filter angewendet, um nur Traffic auf Port 80 zu sammeln, und realen Traffic beobachtet, der diesem Filter entspricht.

Analysieren von erfasstem Datenverkehr mit Anzeige-Filtern (Display Filters)

In diesem Schritt lernen wir, wie man Anzeige-Filter (Display Filters) verwendet, um den bereits erfassten Datenverkehr zu analysieren. Bevor wir beginnen, ist es wichtig, den Unterschied zwischen Erfassungsfiltern (Capture Filters) und Anzeige-Filtern (Display Filters) zu verstehen. Erfassungsfilter (Capture Filters) werden verwendet, um zu entscheiden, welcher Datenverkehr überhaupt erfasst wird. Anzeige-Filter (Display Filters) hingegen ermöglichen es Ihnen, sich auf bestimmte Teile der bereits erfassten Pakete zu konzentrieren. Sie sind wie eine Lupe für Ihre erfassten Daten und helfen Ihnen, sich auf die Details zu konzentrieren, die Sie interessieren.

Den Unterschied zwischen Erfassungs- und Anzeige-Filtern (Capture and Display Filters) verstehen

Betrachten wir den Unterschied zwischen Erfassungs- und Anzeige-Filtern (Capture and Display Filters) genauer.

  • Erfassungsfilter (Capture Filters) werden angewendet, bevor Pakete aufgezeichnet werden. Sie verwenden die Berkeley Packet Filter (BPF) Syntax. Stellen Sie sich Erfassungsfilter (Capture Filters) als einen Torwächter am Eingang vor. Sie entscheiden, welche Pakete eintreten und erfasst werden dürfen.
  • Anzeige-Filter (Display Filters) werden auf Pakete angewendet, die bereits erfasst wurden. Sie verwenden Wiresharks eigene Syntax. Anzeige-Filter (Display Filters) sind wie ein Scheinwerfer, der bestimmte Pakete unter den bereits erfassten hervorhebt.
  • Anzeige-Filter (Display Filters) sind leistungsfähiger und flexibler als Erfassungsfilter (Capture Filters). Sie ermöglichen es Ihnen, komplexere Suchen und Analysen der erfassten Daten durchzuführen.
  • Anzeige-Filter (Display Filters) reduzieren nicht die Menge der erfassten Daten. Sie steuern lediglich, was in der Benutzeroberfläche angezeigt wird. Die ursprünglich erfassten Daten bleiben also intakt, und Sie können den Anzeige-Filter (Display Filter) beliebig oft ändern, um verschiedene Aspekte der Daten anzuzeigen.

Öffnen Ihrer erfassten Datei

Öffnen wir nun die Datei, die die zuvor erfassten Pakete enthält.

  1. Wenn Sie Wireshark aus dem vorherigen Schritt noch geöffnet haben, können Sie direkt fortfahren. Andernfalls öffnen Sie Wireshark und dann die Datei, die Sie in Schritt 2 gespeichert haben.
  2. So öffnen Sie eine zuvor gespeicherte Datei in Wireshark:
    • Klicken Sie in der Menüleiste auf File > Open. Dies ist eine übliche Methode, um in vielen Softwareanwendungen auf Dateien zuzugreifen.
    • Navigieren Sie zum Verzeichnis /home/labex/project. Hier wird die erfasste Datei gespeichert.
    • Wählen Sie die Datei step2.pcapng aus und klicken Sie auf Open. Das .pcapng-Dateiformat wird häufig zum Speichern von Netzwerkpaketdaten verwendet.
  3. Nach dem Öffnen der Datei sollten Sie nun die in Schritt 2 erfassten Pakete in Wireshark sehen. Dies sind die Daten, die wir mit Anzeige-Filtern (Display Filters) analysieren werden.

Anwenden von Anzeige-Filtern (Display Filters)

Als Nächstes wenden wir Anzeige-Filter (Display Filters) auf die erfassten Pakete an.

  1. Suchen Sie die Anzeige-Filter-Symbolleiste (Display Filter Toolbar) oben im Wireshark-Fenster. Diese unterscheidet sich von dem zuvor verwendeten Erfassungsfilter (Capture Filter). Sie hat einen hellgrünen Hintergrund, wenn sie aktiv ist. In der Anzeige-Filter-Symbolleiste (Display Filter Toolbar) geben Sie die Filterausdrücke ein, um bestimmte Pakete anzuzeigen.

  2. Geben Sie im Anzeige-Filterfeld (Display Filter Field) tcp ein und drücken Sie die Eingabetaste oder klicken Sie auf die rechte Pfeiltaste. Indem wir tcp eingeben, weisen wir Wireshark an, nur die Pakete anzuzeigen, die das TCP-Protokoll verwenden. Dadurch werden nur TCP-Pakete in der Anzeige angezeigt, wobei alle anderen Protokollpakete herausgefiltert werden, falls vorhanden.

  3. Beachten Sie, wie die Pakete sofort in der Anzeige gefiltert werden, ohne dass eine neue Erfassung erforderlich ist. Dies ist einer der Vorteile der Verwendung von Anzeige-Filtern (Display Filters). Sie können verschiedene Aspekte der erfassten Daten schnell analysieren, ohne den Datenverkehr erneut erfassen zu müssen.

  4. Versuchen wir nun einen spezifischeren Anzeige-Filter (Display Filter). Löschen Sie den aktuellen Filter, indem Sie auf die Schaltfläche X auf der rechten Seite der Filterleiste klicken. Dadurch wird der vorherige Filter entfernt und alle erfassten Pakete werden wieder angezeigt.

  5. Geben Sie den folgenden Filter ein, um Pakete anzuzeigen, die das Wort "Wireshark" enthalten:

    frame contains "Wireshark"

    Dieser Filter sucht nach dem Wort "Wireshark" in den Frame-Daten der Pakete.

  6. Drücken Sie die Eingabetaste oder klicken Sie auf den Rechtspfeil, um den Filter anzuwenden.

    Display filter
  7. Sie sollten nun nur noch die Pakete sehen, die den Text "Wireshark" enthalten - wahrscheinlich nur ein oder zwei Pakete, die unsere Nachricht "Hello, Wireshark!" enthalten. Dies zeigt, wie Anzeige-Filter (Display Filters) verwendet werden können, um spezifische Informationen innerhalb der erfassten Pakete zu finden.

  8. Wenn Sie in der Paketliste auf eines dieser Pakete klicken, können Sie dessen Details im mittleren Bereich sehen. Suchen Sie nach dem Abschnitt "Data", der den Text "Hello, Wireshark!" anzeigen sollte. Dies ermöglicht es Ihnen, den Inhalt der Pakete detaillierter zu untersuchen.

Erstellen eines Berichts

Nachdem Sie den Datenverkehr mithilfe von Anzeige-Filtern (Display Filters) analysiert haben, erstellen wir einen einfachen Bericht, der Ihre Ergebnisse dokumentiert.

  1. Zählen Sie die Anzahl der Pakete, die dem Filter frame contains "Wireshark" entsprechen. Die Anzahl sollte in der Statusleiste am unteren Rand des Wireshark-Fensters angezeigt werden, etwa so: "Displayed: X of Y packets". Diese Zahl stellt die Anzahl der Pakete dar, die das Wort "Wireshark" enthalten.

  2. Öffnen Sie ein Terminalfenster, indem Sie auf das Terminalsymbol in der Taskleiste klicken oder Strg+Alt+T drücken. Das Terminal ist ein leistungsstarkes Werkzeug, mit dem Sie Befehle auf Ihrem Computer ausführen können.

  3. Erstellen Sie im Terminal eine Berichtdatei mit den Informationen zur Paketanzahl:

    echo "Number of packets matching the filter expression: 1" > /home/labex/project/report.txt

    Hinweis: Ersetzen Sie 1 im obigen Befehl durch die tatsächliche Anzahl der Pakete, die Sie entsprechend dem Filter beobachtet haben. Diese Zahl kann je nach Ausführung des Skripts variieren.

    Save report

Sie haben nun erfolgreich Anzeige-Filter (Display Filters) angewendet, um erfassten Netzwerkverkehr zu analysieren und Ihre Ergebnisse in einer Berichtdatei dokumentiert.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Wireshark - Capture - Filter verwenden, um Netzwerkverkehr nach bestimmten Kriterien selektiv zu erfassen und zu analysieren. Sie haben wichtige Fähigkeiten geübt, wie das Verständnis der Grundsyntax von Capture - Filtern auf der Grundlage der Berkeley Packet Filter - Sprache, deren Anwendung während der Live - Erfassung und die Unterscheidung zwischen Capture - Filtern und Anzeigefiltern (Display - Filtern).

Diese Fähigkeiten sind für Netzwerkadministratoren, Sicherheitsanalysten und IT - Fachkräfte, die mit Netzwerkproblemen oder Sicherheitsvorfällen umgehen, von entscheidender Bedeutung. Das Beherrschen von Capture - Filtern ermöglicht eine effizientere Netzwerkanalyse, indem Sie sich auf relevanten Verkehr konzentrieren. Wenn Sie in der Netzwerkanalyse voranschreiten, können Sie auf diesen Fähigkeiten aufbauen, um komplexe Filter für eine anspruchsvolle Verkehrsauswahl in komplexen Umgebungen zu erstellen.