Řešení 1:
Můžete použít tcpdump
extrahovat části pcap, které chcete... předpokládejme, že hledáte pakety v soketovém spojení mezi TCP/55777 na jednom hostiteli a TCP/80 na druhém. Váš zdrojový soubor je bigfile.pcap
, což je sniffer výpis mnoha relací HTTP k příslušnému webovému hostiteli...
tcpdump -r bigfile.pcap -w session.pcap -s0 tcp and port 55777
To vytáhne všechny pakety směřující do az TCP/55777 v bigfile.pcap
a zkopírujte je do session.pcap
.
Řešení 2:
Můžete také použít PcapSplitter, který je součástí balíčku PcapPlusPlus. Dělá přesně to, co potřebujete (což je rozdělení souborů pcap připojením TCP nebo UDP), je multiplatformní a nemá limit na počet připojení v původním souboru (takže jej můžete použít k rozdělení velkého pcap soubor obsahující tisíce připojení nebo dokonce více). Výše uvedený odkaz je pro zdrojový kód, ale pokud chcete zkompilovaný binární soubor - zde je odkaz na binární soubory, které jsem vytvořil pro několik platforem
UPRAVIT: zjevně byla vydána nová verze PcapPlusPlus a obsahuje binární soubory PcapSplitter pro mnoho platforem (Windows, Ubuntu 12.04/14.04, Mac OSX Mavericks/Yosemite/El Captian). Myslím, že je lepší použít tyto binární soubory než odkaz, který jsem dříve uvedl. Najdete ho zde
Řešení 3:
tcpflow je to, co chcete - rozdělí pcaps do jednoho souboru na relaci TCP
http://www.circlemud.org/jelson/software/tcpflow/
Řešení 4:
Trochu přehnané, ale pomocí tshark
(dodáváno s wireshark
), můžete si vystačit s zsh
:
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
Což generuje soubory pojmenované jako 1509466312.202450000-10.0.0.1-58892-10.0.0.2-80.pcap
(na základě prvního paketu viděného pro každé připojení).
Řešení 5:
Zdá se, že existuje tento nástroj, který by mohl fungovat (osobně jsem ho nepoužíval)
http://www.netresec.com/?page=SplitCap (založené na systému Windows)
SplitCap je bezplatný (stejně jako v pivu) opensource rozdělovač souborů pcap. SplitCapsplits jeden velký soubor pcap do více souborů založených na relacích TCP a UDP, jeden soubor pcap na relaci. SplitCap lze také použít k rozdělení souboru pcap do jednoho souboru pcap na pár hostitelů místo relace.