wie man eine pcap-datei in eine reihe kleinerer aufteilt

47

Ich habe eine riesige pcap-Datei (generiert von tcpdump). Wenn ich versuche, es in Wireshark zu öffnen, reagiert das Programm einfach nicht mehr. Gibt es eine Möglichkeit, eine Datei in kleinere Gruppen aufzuteilen, um sie einzeln zu öffnen? Der in einer Datei erfasste Datenverkehr wird von zwei Programmen auf zwei Servern generiert. Daher kann ich die Datei nicht mithilfe der tcpdump-Filter "Host" oder "Port" aufteilen. Ich habe auch versucht Linux 'split' Befehl :-), aber ohne Glück. Wireshark würde das Format nicht erkennen.

facha
quelle
Wie groß ist riesig? Ist es viel größer als der verfügbare Arbeitsspeicher?
Pehrs
2
Ein bisschen spät, aber der Grund, warum Wireshark die ausgegebenen Dateien nicht liest, splitist, dass sich die Aufteilung auf exakte Bytegrenzen verteilt. Dies teilt höchstwahrscheinlich ein Paket, wodurch ein Teil des Dateiinhalts ungültig wird.
Burhan Ali

Antworten:

72

Sie können tcpdump selbst mit den Optionen -C, -r und -w verwenden

tcpdump -r old_file -w new_files -C 10

Die Option "-C" gibt die Größe der Datei an, in die aufgeteilt werden soll. Beispiel: In dem obigen Fall beträgt die Größe der neuen Dateien jeweils 10 Millionen Bytes.

Dan Andreatta
quelle
Du bist ein erstaunlicher Mensch, Dan.
Lobi
Gibt es eine Möglichkeit, dies zu tun, ohne eine Sitzung zu unterbrechen? (Angenommen, eine einzelne Sitzung ist kleiner als das Größenbegrenzungsargument).
spanishgum
Schnell: tcpdump -r old_file -w new_files -C 1000 Teilt alle 955 MB aufgezeichneten Datenverkehrs auf
gies0r
18

Verwenden Sie das editcapmit Wireshark gelieferte Dienstprogramm.

Dan Carley
quelle
5
editpcap -c 1000 input.pcap output.pcapwird input.pcapin Captures mit maximal 1000 Paketen pro Capture aufgeteilt. Die Ausgabe erfolgt in mehreren Erfassungsdateien, die wie output_{index}_{timestamp}.pcap
folgt
1
Danke blachniet für das Beispiel! Aber es ist einfach editcapnicht editpcaprichtig?
Lindhe
3

Ich weiß, dass diese Antwort etwas spät ist, aber sie kann auch anderen Menschen dienen. Ich habe ein großartiges Tool zum Teilen von pcap-Dateien gefunden: PcapSplitter . Es ist Teil der PcapPlusPlus- Bibliothek, dh es ist plattformübergreifend (Win32, Linux und Mac OS) und kann pcap-Dateien anhand verschiedener Kriterien wie Dateigröße (was Sie zu benötigen scheinen), aber auch nach Verbindung, Client / Server aufteilen IP, Server-Port (ähnlich wie Protokoll), Paketanzahl usw. Ich fand es sehr nützlich. Der obige Link ist für den Quellcode, aber wenn Sie nicht wissen, wie man kompiliert, habe ich kompilierte Binärdateien für mehrere Plattformen erstellt, mit denen ich dieses Tool verwendet habe. Ich empfehle dieses Tool sehr

BEARBEITEN: Anscheinend wurde eine neue Version von PcapPlusPlus veröffentlicht, die PcapSplitter-Binärdateien für eine Vielzahl von Plattformen enthält (Windows, Ubuntu 12.04 / 14.04, Mac OS X Mavericks / Yosemite / El Captian). Ich denke, es ist besser, diese Binärdateien zu verwenden, als den Link, den ich zuvor bereitgestellt habe. Sie finden es hier

fx23
quelle
2

Der beste und schnellste Weg ist die Verwendung von SplitCap, mit dem beispielsweise große Packet Dump-Dateien auf der Grundlage von Sitzungen aufgeteilt werden können. Auf diese Weise erhalten Sie jede TCP-Sitzung in einer separaten PCAP-Datei. SplitCap kann Pakete auch anhand von IP-Adressen in pcap-Dateien aufteilen.

Weitere Informationen zu SplitCap finden Sie im Netresec-Blog: http://www.netresec.com/?page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

Laden Sie SplitCap hier herunter: http://www.netresec.com/?page=SplitCap

Viel Glück!

Netresec
quelle
Gibt es Linux-Versionen?
Ychaouche
Dies ist ein nettes Programm, das allerdings nicht in der Lage ist, mit pcapng-Dateien zu arbeiten.
Guntram Blohm unterstützt Monica
0
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 es dreht sich in 5 Minuten
  • -W 48 Anzahl der Dateien
  • -C 100 Dateigröße 100 MB
  • port Sie können den Port basierend auf der Anwendung angeben
user531905
quelle