Analyse der JSON-Zeitmessungsausgabe
In diesem Schritt werden wir untersuchen, wie Wireshark Zeitinformationen im JSON-Format aufzeichnet. JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenformat, das sowohl für Menschen einfach lesbar als auch für Maschinen einfach zu parsen ist. Wir werden die Paketaufzeichnungs- und Filterfähigkeiten aus den vorherigen Schritten kombinieren, um sinnvolle Zeitstatistiken zu generieren.
Bevor wir beginnen, stellen wir sicher, dass wir uns im richtigen Verzeichnis befinden. Der Projektordner enthält alle erforderlichen Dateien und hält unsere Arbeit organisiert:
cd ~/project
Jetzt werden wir Zeitdaten speziell für TCP-Pakete generieren. Das --print-timers
-Flag teilt Tshark mit, Zeitinformationen in seiner Ausgabe einzuschließen, während -T json
diese im JSON-Format formatiert. Wir speichern dies in einer Datei für eine spätere Analyse:
tshark -r /usr/share/wireshark/example_captures/http.pcap -Y "tcp" --print-timers -T json > tcp_timings.json
Werfen wir einen kurzen Blick auf die Struktur unserer JSON-Ausgabe. Der head
-Befehl zeigt uns die ersten 20 Zeilen, was uns hilft, zu verstehen, wie die Daten organisiert sind, bevor wir sie weiter verarbeiten:
head -20 tcp_timings.json
Um effektiv mit JSON-Daten zu arbeiten, verwenden wir jq
, einen leistungsstarken Befehlszeilen-JSON-Prozessor. Wenn Sie es noch nicht installiert haben, wird dieser Befehl es einrichten:
sudo apt-get install -y jq
Jetzt können wir spezifische Zeitmetriken extrahieren. Dieser Befehl filtert das JSON, um nur die Zeitgeberinformationen für jedes Paket anzuzeigen, wodurch wir eine sauberere Ansicht der Zeitdaten erhalten:
jq '.[].timers' tcp_timings.json | head -10
Schließlich erstellen wir eine fokussiertere Zusammenfassung, die nur die Paketnummern und die entsprechenden Verarbeitungszeiten anzeigt. Dies gibt uns eine klare Ansicht, wie lange die Verarbeitung jedes Pakets gedauert hat:
jq '.[].timers | {packet_number: .packet_num, processing_time: .processing_time}' tcp_timings.json | head -5