esinlenen @sch burada bir bash versiyonu:
file=cap.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
[[ "${f[5]}" ]] || continue # sometimes there is no stream number ex. UDP
fileout=$(echo ${f[0]}__${f[1]}__${f[2]}__${f[3]}__${f[4]}__${f[5]} | tr -d '\r' )
$tshark -r $file -2R "tcp.stream == ${f[0]}" -w "$fileout.pcap"
done
read
dosya adı şöyle olacaktır: stream number__time__source IP__port__destination IP__port.pcap
tr -d '\r'
Windows kullanıcıları içindir, çünkü windows'daki tshark CR LF çıktısıdır.
Düzenle :
tshark ile bu çözüm çok yavaş ama emin. SplitCap süper hızlıdır, ancak bazı paketlerde bir hata olduğunda çöker, tshark sadece hata hakkında sizi bilgilendirir, ancak devam eder:
tshark: The file "cap.pcap" appears to have been cut short in the middle of a packet.
ve son olarak süper hızlı PcapSplitter var ama winpcap sürücüsüne ihtiyaç duyuyor, pencerelerde npcap sürücüsü ile çalışmıyor.
Kullanarak: Ama SplitCap için bir çözümü var pcapfix SplitCap tekrar çöküyor asla o zaman bozuk paketleri düzeltebilirsiniz. ve şu an kullandığım şey bu, çünkü tshark bölünmede çok yavaş.
ve ben PcapSplitter bir çözüm herhangi bir yöntem kullanarak winpcap dll enjekte oldu ama biz SplitCap varken neden bunu?