Lösung 1:
Sie können tcpdump
verwenden Um die gewünschten Teile des pcap zu extrahieren ... nehmen Sie an, Sie suchen nach Paketen in einer Socket-Verbindung zwischen TCP/55777 auf einem Host und TCP/80 auf einem anderen. Ihre Quelldatei ist bigfile.pcap
, das ist ein Sniffer-Dump vieler HTTP-Sitzungen zum fraglichen Webhost...
tcpdump -r bigfile.pcap -w session.pcap -s0 tcp and port 55777
Dadurch werden alle Pakete zu und von TCP/55777 in bigfile.pcap
gezogen und kopiere sie in session.pcap
.
Lösung 2:
Sie können auch PcapSplitter verwenden, das Teil des PcapPlusPlus-Pakets ist. Es macht genau das, was Sie brauchen (das Teilen von pcap-Dateien über eine TCP- oder UDP-Verbindung), es ist plattformübergreifend und hat keine Begrenzung der Anzahl der Verbindungen in der Originaldatei (so dass Sie es verwenden können, um eine große pcap-Datei, die Tausende von Verbindungen oder sogar mehr enthält). Der obige Link ist für den Quellcode, aber wenn Sie eine kompilierte Binärdatei wollen - hier ist ein Link für Binärdateien, die ich für mehrere Plattformen erstellt habe
BEARBEITEN: anscheinend wurde eine neue Version von PcapPlusPlus veröffentlicht und enthält PcapSplitter-Binärdateien für ziemlich viele Plattformen (Windows, Ubuntu 12.04/14.04, Mac OSX 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
Lösung 3:
tcpflow ist, was Sie wollen - teilt pcaps in eine Datei pro TCP-Sitzung
http://www.circlemud.org/jelson/software/tcpflow/
Lösung 4:
Etwas übertrieben, aber mit tshark
(wird mit wireshark
geliefert ), könnten Sie mit zsh
tun :
file=file.pcap
tshark -Tfields -e tcp.stream \
-e frame.time_epoch \
-e ip.src \
-e tcp.srcport \
-e ip.dst \
-e tcp.dstport -r $file |
sort -snu |
while read -A f; do
tshark -r $file -2R "tcp.stream == $f[1]" -w ${(j:-:)f[2,-1]}.pcap
done
Dadurch werden Dateien mit dem Namen 1509466312.202450000-10.0.0.1-58892-10.0.0.2-80.pcap
generiert (basierend auf dem ersten Paket, das für jede Verbindung gesehen wird).
Lösung 5:
Es scheint dieses Tool zu geben, das funktionieren könnte (ich habe es persönlich nicht benutzt)
http://www.netresec.com/?page=SplitCap (Windows-basiert)
SplitCap ist ein kostenloser (wie in Bier) Open-Source-Pcap-Dateisplitter. SplitCap teilt eine große pcap-Datei basierend auf TCP- und UDP-Sitzungen in mehrere Dateien auf, eine pcap-Datei pro Sitzung. SplitCap kann auch verwendet werden, um eine pcap-Datei in eine pcap-Datei pro Host-Paar anstatt pro Sitzung aufzuteilen.