In diesem Schritt werden wir untersuchen, wie man mit dem Wireshark-Tool Tshark erfassten HTTP-Verkehrsdaten im JSON-Format ausgibt. JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenformat, das sowohl für Menschen einfach lesbar als auch für Maschinen einfach zu parsen ist. Dies macht es ideal für die programmgesteuerte Analyse von Netzwerkverkehr.
Bevor wir beginnen, verstehen wir zunächst, warum die JSON-Ausgabe wertvoll ist:
- Strukturierte Datenorganisation
- Einfache Integration mit anderen Tools und Skripten
- Standardisiertes Format für den Datenaustausch
- Stellen Sie zunächst sicher, dass Sie sich im Standardarbeitsverzeichnis befinden, in dem wir unsere Befehle ausführen werden:
cd ~/project
- Jetzt führen wir Tshark aus, um HTTP-Anfragen zu erfassen und sie im JSON-Format auszugeben. Dieser Befehl kombiniert Filterung mit JSON-Formatierung:
sudo tshark -Y "http.request" -T json -e http.request.method -e http.host -e http.request.uri
Lassen Sie uns analysieren, was jeder Teil dieses Befehls tut:
-Y "http.request"
: Dieser Filter weist Tshark an, nur HTTP-Anforderungspakete anzuzeigen.
-T json
: Gibt an, dass wir die Ausgabe im JSON-Format möchten.
-e
Felder: Diese extrahieren bestimmte Informationen aus jeder HTTP-Anfrage:
http.request.method
: Die verwendete HTTP-Methode (GET, POST usw.)
http.host
: Die Website-Domäne, auf die zugegriffen wird.
http.request.uri
: Der spezifische Pfad oder die Ressource, die angefordert wird.
- Um Testverkehr zu generieren, den wir erfassen können, öffnen Sie ein zweites Terminalfenster und führen Sie diese
curl
-Befehle aus:
curl http://example.com
curl http://example.org/sample
Wenn Sie den Tshark-Befehl ausführen, während dieser Testverkehr generiert wird, sehen Sie eine Ausgabe in folgender Struktur:
[
{
"_index": "packets-1",
"_source": {
"layers": {
"http.request.method": ["GET"],
"http.host": ["example.com"],
"http.request.uri": ["/"]
}
}
},
{
"_index": "packets-2",
"_source": {
"layers": {
"http.request.method": ["GET"],
"http.host": ["example.org"],
"http.request.uri": ["/sample"]
}
}
}
]
Beachten Sie, wie jede HTTP-Anfrage zu einem separaten JSON-Objekt mit klar beschrifteten Feldern wird. Diese Struktur macht es einfach zu identifizieren:
- Auf welche Website zugegriffen wurde
- Welcher Art die Anfrage war
- Welche spezifische Seite oder Ressource angefordert wurde
Das JSON-Format ist besonders nützlich, wenn Sie diese Daten für eine spätere Analyse speichern oder an andere Tools weiterleiten möchten, die JSON-Daten automatisch verarbeiten können.