HTTP-Objekte in Tshark exportieren

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 das Befehlszeilentool tshark von Wireshark verwenden, um HTTP-Verkehr zu analysieren und übertragene Objekte aus Paketaufzeichnungen zu extrahieren. Sie üben Schlüsselbefehle wie -r zum Lesen von Aufzeichnungsdateien und --export-objects zum Abrufen von HTTP-Inhalten wie Bildern oder Dokumenten.

Die Übungen führen Sie durch den Export von HTTP-Objekten aus einer vorgegebenen Aufzeichnungsdatei (http.pcap) in ein lokales Verzeichnis, das Filtern bestimmter Anfragen und die Inspektion der extrahierten Dateien. Diese praktischen Techniken sind für die Netzwerkverkehrsanalyse und forensische Untersuchungen unerlässlich.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/export_packets("Exporting Packets") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/display_filters -.-> lab-548925{{"HTTP-Objekte in Tshark exportieren"}} wireshark/export_packets -.-> lab-548925{{"HTTP-Objekte in Tshark exportieren"}} wireshark/packet_analysis -.-> lab-548925{{"HTTP-Objekte in Tshark exportieren"}} wireshark/commandline_usage -.-> lab-548925{{"HTTP-Objekte in Tshark exportieren"}} end

Öffnen einer HTTP-Aufzeichnung mit -r http.pcap

In diesem Schritt lernen Sie, wie Sie eine bereits aufgezeichnete HTTP-Verkehrsdatei mit dem Befehlszeilentool tshark von Wireshark öffnen und untersuchen. Dies ist besonders nützlich, wenn Sie gespeicherte Netzwerkverkehrsdaten analysieren müssen, ohne live Pakete aufzuzeichnen.

Bevor wir beginnen, verstehen wir zunächst einige Grundlagen:

  • Eine .pcap-Datei ist ein gängiges Format zum Speichern von Netzwerkpaketdaten.
  • tshark ist die Befehlszeilenversion von Wireshark, die die Paketanalyse ohne grafische Benutzeroberfläche ermöglicht.
  • HTTP-Verkehr zeigt typischerweise Web-Anfragen und -Antworten zwischen Clients und Servern.

Stellen Sie zunächst sicher, dass Sie sich im richtigen Verzeichnis befinden, in dem sich unsere Beispiel-Aufzeichnungsdatei befindet:

cd ~/project

Die Option -r in tshark ist hier von entscheidender Bedeutung - sie steht für "read" (lesen) und ermöglicht es Ihnen, Paketdaten aus einer gespeicherten Datei zu analysieren, anstatt live Verkehr aufzuzeichnen. Wir verwenden eine Beispiel-Aufzeichnungsdatei namens http.pcap, die typischen HTTP-Webverkehr enthält.

Um die Inhalte der Aufzeichnungsdatei zu öffnen und anzuzeigen, führen Sie folgenden Befehl aus:

tshark -r http.pcap

Dieser Befehl zeigt die Paketliste direkt in Ihrem Terminal an. Jede Zeile repräsentiert ein Netzwerkpaket mit mehreren wichtigen Feldern:

  • Paketnummer: Die Sequenznummer des Pakets in der Aufzeichnung.
  • Zeitstempel: Wann das Paket aufgezeichnet wurde (in Sekunden).
  • Quell-IP: Woher das Paket stammt.
  • Ziel-IP: Wohin das Paket geht.
  • Protokoll: Das verwendete Netzwerkprotokoll (in unserem Fall HTTP).
  • Paketlänge: Die Größe des Pakets in Bytes.
  • Info: Kurze Details über den Paketinhalt.

Beispielsweise könnten Sie eine Ausgabe wie die folgende sehen, die eine typische HTTP-Anfrage und -Antwort zeigt:

1 0.000000 192.168.1.100 → 192.168.1.1 HTTP GET /index.html HTTP/1.1
2 0.000123 192.168.1.1 → 192.168.1.100 HTTP HTTP/1.1 200 OK (text/html)

Die erste Zeile zeigt, dass ein Client (192.168.1.100) eine Webseite anfordert, während die zweite Zeile die erfolgreiche Antwort des Servers zeigt. Diese grundlegende Ansicht hilft Ihnen, den Verkehrsfluss schnell zu verstehen.

Um die Paketansicht zu verlassen, wenn Sie die Daten untersucht haben, drücken Sie einfach Ctrl+C. Dadurch gelangen Sie zurück zum Befehlseingabeaufforderung.

Exportieren von Objekten mit --export-objects http,./objects

In diesem Schritt werden wir untersuchen, wie man Dateien, die über HTTP übertragen wurden, aus einer Paketaufzeichnung extrahiert. Wenn Sie Netzwerkverkehr mit HTTP-Kommunikation aufzeichnen, werden Dateien wie Bilder, PDFs oder Skripte als binäre Objekte innerhalb des HTTP-Protokolls übertragen. Tshark bietet eine bequeme Möglichkeit, diese Dateien zur Analyse zu extrahieren.

Zunächst navigieren wir in das Projektverzeichnis, in dem sich unsere Paketaufzeichnungsdatei befindet. Dadurch wird sichergestellt, dass alle unsere Befehle mit den richtigen Dateien funktionieren:

cd ~/project

Bevor wir Dateien extrahieren, benötigen wir einen Ort, um sie zu speichern. Der Befehl mkdir -p erstellt ein Verzeichnis namens "objects", in dem Tshark die extrahierten Dateien speichert. Der -p-Schalter bedeutet, dass es keine Fehlermeldung gibt, wenn das Verzeichnis bereits existiert:

mkdir -p objects

Jetzt nutzen wir die leistungsstarke Funktion --export-objects von Tshark. Dieser Befehl durchsucht die Paketaufzeichnung, erkennt HTTP-Dateiübertragungen und rekonstruiert die ursprünglichen Dateien. Die Syntax besteht aus zwei Teilen nach --export-objects: "http" gibt das Protokoll an, und "./objects" ist unser Ausgabeverzeichnis:

tshark -r http.pcap --export-objects http,./objects

Hier ist, was passiert, wenn Sie diesen Befehl ausführen:

  1. Tshark liest die Datei http.pcap (-r-Schalter).
  2. Es analysiert den HTTP-Verkehr und erkennt Dateiübertragungen.
  3. Jede gefundene Datei wird rekonstruiert und im Verzeichnis ./objects gespeichert.

Nachdem Sie den Befehl ausgeführt haben, zeigt Tshark jede Datei an, die es extrahiert. Beispielsweise könnten Sie eine Ausgabe wie die folgende sehen, die die erfolgreiche Extraktion von Dateien anzeigt:

Exporting HTTP object 1: image1.jpg
Exporting HTTP object 2: document.pdf

Diese Dateien sind jetzt in Ihrem objects-Verzeichnis für eine weitere Untersuchung verfügbar. Diese Technik ist besonders nützlich, wenn Sie Webverkehr analysieren oder Dateidownloads während der Netzwerkfehlersuche untersuchen.

Auflisten der Dateien in ./objects

In diesem Schritt werden wir die HTTP-Objekte untersuchen, die im vorherigen Schritt aus der Paketaufzeichnung extrahiert wurden. Diese Objekte repräsentieren Dateien, die über HTTP übertragen wurden, wie Bilder, Dokumente oder Skripte. Indem wir den Inhalt des Verzeichnisses ./objects auflisten, können wir überprüfen, welche Dateien erfolgreich exportiert wurden und uns auf eine weitere Analyse vorbereiten.

Zunächst navigieren wir in das Projektverzeichnis, in dem sich unsere extrahierten Dateien befinden. Dadurch stellen wir sicher, dass wir am richtigen Ort arbeiten:

cd ~/project

Um alle extrahierten Dateien mit detaillierten Informationen anzuzeigen, verwenden wir den ls-Befehl mit zwei hilfreichen Optionen:

ls -lh ./objects

Hier ist, was jeder Teil macht:

  • -l zeigt die lange Formatauflistung mit Berechtigungen, Größen und Zeitstempeln an.
  • -h zeigt die Dateigrößen in einem für Menschen lesbaren Format an (KB, MB statt Bytes).

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die die tatsächlich aus dem HTTP-Verkehr extrahierten Dateien zeigt:

total 24K
-rw-r--r-- 1 labex labex 5.2K Jan 1 10:00 image1.jpg
-rw-r--r-- 1 labex labex 12K Jan 1 10:00 document.pdf
-rw-r--r-- 1 labex labex 1.5K Jan 1 10:00 script.js

Wenn Sie nur wissen müssen, wie viele Dateien extrahiert wurden (ohne deren Details zu sehen), zählt dieser Befehl sie:

ls ./objects | wc -l

Der Teil wc -l zählt die Anzahl der Zeilen in der Ausgabe, was der Anzahl der Dateien entspricht. In unserem Beispiel würde es anzeigen:

3

Filtern spezifischer Anfragen mit -Y "http.request.uri"

In diesem Schritt werden wir untersuchen, wie man spezifische HTTP-Anfragen aus einer Paketaufzeichnungsdatei mithilfe des Befehlszeilentools von Wireshark, tshark, filtert. Die Option -Y ermöglicht es uns, leistungsstarke Anzeigefilter anzuwenden, um uns nur auf den Netzwerkverkehr zu konzentrieren, den wir analysieren möchten.

Bevor wir beginnen, stellen wir sicher, dass wir im richtigen Arbeitsverzeichnis sind, in dem sich unsere Paketaufzeichnungsdatei befindet:

cd ~/project

Die grundlegende Befehlsstruktur verwendet tshark -r, um eine Paketaufzeichnungsdatei zu lesen, gefolgt von -Y mit unserem Filterausdruck. Wenn wir mit HTTP-Verkehr arbeiten, können wir speziell nach HTTP-Anforderungspaketen filtern, indem wir ihre URI (Uniform Resource Identifier)-Pfade untersuchen:

tshark -r http.pcap -Y "http.request.uri"

Dieser Befehl verarbeitet die Datei http.pcap und zeigt nur die HTTP-Anforderungspakete an, die unseren Filter erfüllen. Für jedes übereinstimmende Paket sehen Sie wichtige Informationen, darunter:

  • Die Paketnummer (zeigt seine Position in der Aufzeichnung)
  • Zeitstempel, wann das Paket aufgezeichnet wurde
  • Quell- und Ziel-IP-Adressen
  • Der vollständige HTTP-Anforderungs-URI-Pfad

So könnte eine typische Ausgabe aussehen:

10 1.234567 192.168.1.100 → 203.0.113.5 HTTP GET /images/logo.png HTTP/1.1
15 2.345678 192.168.1.100 → 203.0.113.5 HTTP GET /api/data.json HTTP/1.1

Wir können unseren Filter noch spezifischer gestalten, indem wir nach bestimmten Dateitypen oder Pfaden suchen. Beispielsweise können wir unseren Filter ändern, um nach ".png" in der URI zu suchen, um nur Anfragen für PNG-Bilder zu finden:

tshark -r http.pcap -Y 'http.request.uri contains ".png"'

Diese Technik ist besonders nützlich, wenn Sie Webverkehr analysieren, um spezifische angeforderte Ressourcen zu identifizieren, oder wenn Sie bestimmte Arten von Web-Anfragen debuggen. Die Syntax der Anzeigefilter gibt uns präzise Kontrolle darüber, welche Pakete wir in unserer Analyse sehen.

Zusammenfassung

In diesem Lab haben Sie gelernt, HTTP-Verkehr zu analysieren und übertragene Objekte mithilfe des Befehlszeilentools tshark von Wireshark zu extrahieren. Indem Sie mit der Datei http.pcap gearbeitet haben, haben Sie geübt, Paketdetails mit der Option -r anzuzeigen und HTTP-Objekte wie Bilder und Dokumente in ein bestimmtes Verzeichnis mit --export-objects zu exportieren.

Sie haben auch das Filtern spezifischer HTTP-Anfragen mit der Option -Y untersucht, um den Verkehr anhand von URIs zu isolieren. Diese Techniken vermitteln essentielle Fähigkeiten für eine effiziente Netzwerkanalyse und gezielte Dateiextraktion über die Befehlszeilenschnittstelle von tshark.