Einführung
Stellen Sie sich vor, Sie müssten alle roten Autos zählen, die in Echtzeit auf einer vielbefahrenen Autobahn an Ihnen vorbeifahren. Das ist stressig und fehleranfällig. Stellen Sie sich nun vor, Sie würden die Autobahn filmen, das Video mit nach Hause nehmen und es anhalten, zurückspulen oder vorspulen, um die Autos präzise zu zählen.
In der Welt der Cybersicherheit und digitalen Forensik analysieren Experten den Netzwerkverkehr selten live, während er vorbeirauscht. Stattdessen „nehmen sie das Video auf“. Sie erfassen den Rohdatenverkehr und speichern ihn in einem Standardformat, der sogenannten Packet Capture (PCAP)-Datei. Dieser Ansatz liefert eine dauerhafte, unveränderte Aufzeichnung von Netzwerkereignissen und ermöglicht eine tiefgehende, stressfreie Analyse lange nach einem Vorfall.
Diese Mentalität der Protokollierung ist entscheidend, da viele Sicherheitsereignisse flüchtig sind. Eine verdächtige Verbindung dauert vielleicht nur wenige Sekunden. Eine Malware-Anfrage tritt möglicherweise nur einmal auf und wiederholt sich nie. Wenn Sie den Datenverkehr nicht zum Zeitpunkt des Geschehens sichern, verlieren Sie möglicherweise die Chance, das Ereignis später zu rekonstruieren. PCAP-Dateien spielen daher für Netzwerkaktivitäten dieselbe Rolle wie Festplatten-Images oder Log-Archive bei anderen forensischen Untersuchungen.
In diesem Lab erlernen Sie die Kunst der Verwaltung von PCAP-Dateien mit tcpdump. Sie üben, Live-Netzwerkverkehr im Hintergrund in eine Datei zu schreiben, diese zur Offline-Überprüfung wieder in Ihr Terminal zu laden, präzise Filter zur Untersuchung alter Daten anzuwenden und gezielt kleinere Beweisstücke zu extrahieren, um sie mit anderen zu teilen.
Datenverkehr in eine PCAP-Datei schreiben
Der erste Schritt der Offline-Analyse ist die eigentliche Aufzeichnung der Daten. Anstatt tcpdump Ihren Bildschirm mit schnell scrollendem Text überfluten zu lassen, können Sie das Programm anweisen, alles direkt und lautlos in eine Datei zu schreiben. Dies erreichen Sie mit dem passend benannten -w (write) Flag.
Beachten Sie den Unterschied zwischen einer Bildschirmausgabe und einer PCAP-Aufzeichnung. Bei der Ausgabe im Terminal fasst tcpdump die Pakete bereits für das menschliche Auge zusammen. Beim Schreiben in eine PCAP-Datei bleiben die Paketdaten in einer Form erhalten, die von anderen Analysetools später ausgewertet werden kann. Deshalb ist das Schreiben in eine Datei meist die bessere Wahl, wenn Sie Beweise später erneut untersuchen müssen.
Wenn Sie das -w Flag gefolgt von einem Dateinamen verwenden, stellt tcpdump die Bildschirmausgabe komplett ein. Es greift die Rohdaten der Pakete direkt von der Netzwerkschnittstelle ab und verpackt sie sicher im Standard-PCAP-Format.
Stellen Sie zunächst sicher, dass Sie sich in Ihrem Hauptprojektverzeichnis befinden, in dem Sie Dateien sicher speichern können:
cd ~/project
Nun ist es Zeit für die Aufnahme. Um zu verhindern, dass das Programm endlos aufzeichnet und Ihre Festplatte füllt, verwenden wir das -c (count) Flag, um es nach genau 50 Paketen zu stoppen. Wir verwenden außerdem das -i any Flag, das das Programm anweist, ein weites Netz auszuwerfen und den Datenverkehr über alle verfügbaren Netzwerkschnittstellen gleichzeitig zu erfassen.
Führen Sie den folgenden Befehl aus, um 50 Pakete abzugreifen und in einer Datei namens capture.pcap zu speichern:
sudo tcpdump -i any -c 50 -w capture.pcap
Da Ihr browserbasiertes Terminal ständig kleine Mengen an Hintergrund-Netzwerkverkehr erzeugt, um die Verbindung aufrechtzuerhalten, wird die Aufnahme sehr schnell abgeschlossen sein. Sie sehen eine kurze Zusammenfassung wie diese:
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
50 packets captured
52 packets received by filter
0 packets dropped by kernel
Beachten Sie den entscheidenden Unterschied: Es wurden absolut keine spezifischen Paketdetails ausgegeben. Alle sensiblen Daten wurden diskret in der Datei abgelegt.
Sie können überprüfen, ob Ihre neue Aufnahme existiert und ihre Dateigröße mit dem Standard-Linux-Befehl ls prüfen:
ls -lh capture.pcap
Dass die Datei capture.pcap mit ihrer Dateigröße aufgelistet wird, bestätigt, dass der rohe Netzwerkverkehr erfolgreich gespeichert wurde und für die Analyse bereitsteht.
Datenverkehr aus einer PCAP-Datei lesen
Nachdem Sie Ihre Beweise sicher gespeichert haben, benötigen Sie eine Möglichkeit, diese zu betrachten. Dieser Prozess wird allgemein als Offline-Analyse bezeichnet.
Die Offline-Analyse hat einen wichtigen praktischen Vorteil: Sie trennt die Datenerfassung von der Interpretation. Während eines laufenden Vorfalls wissen Verteidiger oft noch nicht, welche Pakete wichtig sind. Ihre erste Aufgabe ist es, so viele relevante Beweise wie möglich zu sichern. Erst danach, wenn sich die Lage stabilisiert hat, beginnen sie mit dem langsameren Prozess, gezielte Fragen an die gespeicherten Daten zu stellen.
Um eine PCAP-Datei zu öffnen und zu lesen, wechseln Sie vom Schreib- in den Lesemodus, indem Sie das -r Flag gefolgt von Ihrem Dateinamen verwenden. Das Schöne an diesem Befehl ist, dass tcpdump die gespeicherte Datei exakt so verarbeitet, als würden die Pakete gerade jetzt über das Live-Netzwerk fließen.
Führen Sie den folgenden Befehl aus, um die Pakete aus Ihrer neu erstellten capture.pcap Datei wieder auf Ihrem Bildschirm anzuzeigen:
tcpdump -r capture.pcap
Hinweis: Das Erfassen von Live-Datenverkehr erfordert tiefgreifende Systemzugriffsrechte, weshalb wir sudo verwenden. Das Lesen einer normalen Datei, die Ihnen gehört, erfordert dies jedoch nicht. Sie können den Lesebefehl sicher ohne spezielle Administratorrechte ausführen.
Plötzlich werden die 50 Pakete, die Sie zuvor lautlos erfasst haben, auf Ihrem Terminalbildschirm ausgegeben und sehen identisch mit einer Live-Aufnahme aus:
reading from file capture.pcap, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144
10:25:31.123456 IP 10.0.2.100.22 > 10.0.2.2.54321: Flags [P.], seq 1:100, ack 1, win 500, length 99
10:25:31.123500 IP 10.0.2.2.54321 > 10.0.2.100.22: Flags [.], ack 100, win 500, length 0
...
Das Lesen aus einer statischen Datei ist für einen Analysten eine enorme Erleichterung. Da die Daten in der Zeit eingefroren sind, können Sie den -r Befehl immer wieder ausführen und sich alle Zeit nehmen, die Sie benötigen, ohne die ursprünglichen Beweise zu verändern.
Um Ihre Analyse zu optimieren, können Sie das -r Flag mit anderen Anzeigeoptionen kombinieren. Zum Beispiel weist das -n Flag tcpdump an, IP-Adressen nicht in Computernamen aufzulösen. Dies verhindert, dass das Tool zusätzliche Hintergrundabfragen durchführt, was zu einer deutlich schnelleren Anzeige und einer saubereren, technischeren Ausgabe führt:
tcpdump -n -r capture.pcap
Filter auf bestehende PCAPs anwenden
Die Aufzeichnung eines großen Datenblocks führt oft zu riesigen Dateien, die mit irrelevantem Rauschen gefüllt sind. Wenn Sie eine Untersuchung durchführen, möchten Sie fast nie jedes einzelne Paket Zeile für Zeile lesen.
Deshalb ist eine gute Beweissicherung meist breit angelegt, während eine gute Beweisanalyse meist eng gefasst ist. Bei der Erfassung möchten Sie so wenig wie möglich verpassen. Bei der Analyse reduzieren Sie den Umfang aggressiv, um sich auf die Pakete zu konzentrieren, die Ihre aktuelle Frage beantworten. Die Verwendung von Filtern auf einer gespeicherten PCAP-Datei ermöglicht Ihnen beides, ohne die ursprüngliche Aufnahme wiederholen zu müssen.
Das wahre Zauberstück von tcpdump ist, dass alle leistungsstarken Berkeley Packet Filters (BPF), die Sie in Live-Netzwerken verwenden, exakt genauso auf gespeicherte Dateien funktionieren. tcpdump liest die gesamte PCAP-Datei im Hintergrund schnell durch, gibt aber nur die spezifischen Pakete aus, die Ihrem gewählten Filter entsprechen.
Lassen Sie uns dies testen, indem wir Ihre capture.pcap Datei so filtern, dass sie ausschließlich TCP-Datenverkehr anzeigt und alles andere ignoriert. Führen Sie den folgenden Befehl aus:
tcpdump -n -r capture.pcap tcp
Die Ausgabe wird merklich kürzer sein und nur die Pakete anzeigen, die als TCP-Protokoll identifiziert wurden.
Sie können so präzise sein, wie Sie müssen. Wenn Sie beispielsweise ein Problem mit dem Secure Shell Service vermuten (der in Ihrer Terminalumgebung auf Port 22 stark im Hintergrund läuft), können Sie nachträglich einen Port-Filter anwenden.
Führen Sie diesen Befehl aus:
tcpdump -n -r capture.pcap port 22
Die Ausgabe auf Ihrem Bildschirm zeigt nun ausschließlich Pakete, bei denen die Quelle oder das Ziel dem Port 22 entspricht:
reading from file capture.pcap, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144
10:25:31.123456 IP 10.0.2.100.22 > 10.0.2.2.54321: Flags [P.], seq 1:100, ack 1, win 500, length 99
...
Diese Fähigkeit, Filter nachträglich anzuwenden, ist wohl die wichtigste Fähigkeit in der digitalen Forensik. In einer realen Krise werfen Verteidiger ein weites Netz aus und verwenden -w, um wahllos alles im Netzwerk aufzuzeichnen. Sobald sich der Staub gelegt hat, verwenden sie -r und komplexe BPF-Filter, um in aller Ruhe den Berg an Beweisen zu durchsuchen und den genauen Moment zu finden, in dem ein Angreifer das System kompromittiert hat.
Spezifischen Datenverkehr in eine neue PCAP extrahieren
Manchmal stellen Sie fest, dass eine Aufzeichnungsdatei einfach zu groß ist, um sie leicht auf einen anderen Computer zu übertragen, oder Sie müssen einige hochverdächtige Pakete isolieren, um sie an ein spezialisiertes Sicherheitsteam zu senden.
Diese Praxis ist bei echten Untersuchungen üblich, da Beweise oft zwischen Teams ausgetauscht werden müssen. Ein Analyst an vorderster Front erfasst möglicherweise eine riesige Datei und extrahiert dann nur den verdächtigen Datenverkehr für Malware-Analysten, Incident-Responder oder Entwickler. Kleinere, fokussierte PCAPs sind einfacher zu teilen, schneller zu untersuchen und enthalten weniger irrelevante Hintergrunddaten, die andere Teams nicht benötigen.
Durch die geschickte Kombination der Funktionen Lesen (-r), Filtern und Schreiben (-w) in einem einzigen Befehl können Sie nur die relevanten Pakete herausschneiden und dauerhaft als brandneue, hochfokussierte PCAP-Datei speichern.
Lassen Sie uns als forensische Analysten agieren und nur die TCP-Pakete aus unserer ursprünglichen capture.pcap Beweisdatei extrahieren. Wir leiten diese spezifischen Pakete in eine neue Datei namens tcp_only.pcap um.
Führen Sie den folgenden Befehl aus:
tcpdump -r capture.pcap tcp -w tcp_only.pcap
Wenn Sie dies ausführen, bleibt Ihr Terminal wieder vollkommen still. tcpdump liest die Originaldatei, wendet im Hintergrund den tcp-Filter an und schreibt die genehmigten Pakete sicher direkt in die neue tcp_only.pcap Datei, ohne etwas auf dem Bildschirm auszugeben.
Sie können überprüfen, ob Ihre neue, hochspezifische Beweisdatei erfolgreich erstellt wurde, indem Sie die Dateien auflisten:
ls -lh capture.pcap tcp_only.pcap
Sie sehen beide Dateien nebeneinander. Abhängig davon, welcher Hintergrundverkehr während Ihrer ursprünglichen Aufnahme stattfand, wird tcp_only.pcap wahrscheinlich etwas kleiner sein als die Master-Datei capture.pcap, da sie erfolgreich von irrelevantem Nicht-TCP-Rauschen befreit wurde.
Um sicherzustellen, dass Ihre neue Datei nur die beabsichtigten Daten enthält, können Sie sie einfach wieder einlesen:
tcpdump -n -r tcp_only.pcap
Diese einfache Extraktionstechnik ist enorm wertvoll, um chaotische Daten zu organisieren und sicher nur die notwendigen Teile einer Untersuchung weiterzugeben.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben die Grundlagen der PCAP-Dateiverwaltung erfolgreich gemeistert.
In diesem Lab haben Sie gelernt, Netzwerkverkehr wie aufgezeichnete Beweise zu behandeln. Sie haben geübt, Live-Netzwerkereignisse sicher mit dem -w Flag in eine Speicherdatei zu erfassen. Sie sind in eine Mentalität der Offline-Analyse übergegangen und haben die gespeicherten Pakete mit dem -r Flag wieder in Ihr Terminal geladen. Sie haben demonstriert, wie man BPF-Filter nachträglich auf bestehende Aufzeichnungsdateien anwendet, um schnell durch das Rauschen zu filtern, und schließlich haben Sie gelernt, hochspezifische Daten für eine präzise, zielgerichtete Untersuchung in eine neue PCAP-Datei zu extrahieren.
Diese Dateiverwaltungstechniken sind das absolute Standardverfahren für digitale Forensik, Incident Response und fortgeschrittene Netzwerkfehlerbehebung. Sie besitzen nun die Kernkompetenzen, um die unsichtbaren Datenströme, die die moderne Welt antreiben, ordnungsgemäß zu erfassen und zu analysieren.

