Solusi 1:
Anda dapat menggunakan tcpdump
untuk mengekstrak bagian pcap yang Anda inginkan... misalkan Anda sedang mencari paket dalam koneksi soket antara TCP/55777 di satu host dan TCP/80 di host lain. File sumber Anda adalah bigfile.pcap
, yang merupakan dump sniffer dari banyak sesi HTTP ke host web yang bersangkutan...
tcpdump -r bigfile.pcap -w session.pcap -s0 tcp and port 55777
Itu akan menarik semua paket yang menuju dan dari TCP/55777 di bigfile.pcap
dan salin ke session.pcap
.
Solusi 2:
Anda juga dapat menggunakan PcapSplitter yang merupakan bagian dari paket PcapPlusPlus. Itu melakukan persis apa yang Anda butuhkan (yaitu memisahkan file pcap dengan koneksi TCP atau UDP), multi-platform dan tidak memiliki batasan jumlah koneksi dalam file asli (sehingga Anda dapat menggunakannya untuk membagi file besar file pcap yang berisi ribuan koneksi atau bahkan lebih). Tautan di atas adalah untuk kode sumber, tetapi jika Anda menginginkan biner yang dikompilasi - ini adalah tautan untuk binari yang saya buat untuk beberapa platform
EDIT: rupanya versi baru PcapPlusPlus telah dirilis dan berisi binari PcapSplitter untuk banyak platform (Windows, Ubuntu 12.04/14.04, Mac OSX Mavericks/Yosemite/El Captian). Saya pikir lebih baik menggunakan binari ini daripada tautan yang saya berikan sebelumnya. Anda dapat menemukannya di sini
Solusi 3:
tcpflow adalah yang Anda inginkan - membagi pcaps menjadi satu file per sesi TCP
http://www.circlemud.org/jelson/software/tcpflow/
Solusi 4:
Sedikit berlebihan, tetapi menggunakan tshark
(dikirim dengan wireshark
), Anda dapat melakukannya dengan 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
Yang menghasilkan file bernama seperti 1509466312.202450000-10.0.0.1-58892-10.0.0.2-80.pcap
(berdasarkan paket pertama yang terlihat untuk setiap koneksi).
Solusi 5:
Sepertinya ada alat ini yang mungkin berfungsi (saya belum pernah menggunakannya secara pribadi)
http://www.netresec.com/?page=SplitCap (berbasis windows)
SplitCap adalah pemecah file pcap sumber terbuka (seperti dalam bir) gratis. SplitCapsmembagi satu file pcap besar menjadi beberapa file berdasarkan sesi TCP dan UDP, satu file pcap per sesi. SplitCap juga dapat digunakan untuk membagi file pcap menjadi satu file pcap per host-pair, bukan sesi.