come dividere un file pcap in un set di quelli più piccoli


47

Ho un enorme file pcap (generato da tcpdump). Quando provo ad aprirlo in WireShark, il programma non risponde. C'è un modo per dividere un file in un set di quelli più piccoli per aprirli uno per uno? Il traffico acquisito in un file è generato da due programmi su due server, quindi non posso dividere il file usando i filtri 'host' o 'port' di tcpdump. Ho anche provato il comando 'split' di Linux :-) ma senza fortuna. Wireshark non riconoscerebbe il formato.


Quanto è grande? È molto più grande della RAM disponibile?
pehrs

2
Un po 'in ritardo, ma il motivo per cui Wireshark non leggerà i file che sono l'output di splitè perché split si divide su confini di byte esatti. È molto probabile che ciò divida un pacchetto che invalida parte del contenuto del file.
Burhan Ali,

Risposte:


72

Puoi usare tcpdump stesso con le opzioni -C, -r e -w

tcpdump -r old_file -w new_files -C 10

L'opzione "-C" specifica la dimensione del file da suddividere. Ad esempio: nel caso precedente, la dimensione dei nuovi file sarà di 10 milioni di byte ciascuno.


Sei un essere umano fantastico, Dan.
lobi,

C'è un modo per farlo senza interrompere una sessione? (Supponendo che una singola sessione sia più piccola dell'argomento limite di dimensioni).
spanishgum

Rapido: si tcpdump -r old_file -w new_files -C 1000 divide su ogni 955 MB di traffico registrato
gies0r

18

Utilizzare l' editcaputilità distribuita con Wireshark.


5
editpcap -c 1000 input.pcap output.pcapverrà suddiviso input.pcapin acquisizioni con un massimo di 1000 pacchetti per acquisizione. L'output sarà più file di acquisizione formattati comeoutput_{index}_{timestamp}.pcap
blachniet,

1
Grazie blachniet per l'esempio! Ma è giusto editcap, no editpcap?
lindhe,

3

So che questa risposta è un po 'in ritardo, ma può servire anche ad altre persone. Ho trovato un ottimo strumento per dividere i file pcap: PcapSplitter . Fa parte della libreria PcapPlusPlus che significa che è multipiattaforma (Win32, Linux e Mac OS) e può dividere i file pcap in base a diversi criteri come la dimensione del file (quello che sembra aver bisogno) ma anche per connessione, client / server IP, porta del server (simile al protocollo), numero di pacchetti, ecc. L'ho trovato molto utile. Il link sopra è per il codice sorgente, ma se non vuoi / sai come compilare, ho creato binari compilati per diverse piattaforme con cui sto usando questo strumento. Consiglio vivamente questo strumento

EDIT: apparentemente è stata rilasciata una nuova versione di PcapPlusPlus e contiene binari PcapSplitter per un bel numero di piattaforme (Windows, Ubuntu 12.04 / 14.04, Mac OSX Mavericks / Yosemite / El Captian). Penso che sia meglio usare questi binari rispetto al link che ho precedentemente fornito. Puoi trovarlo qui


2

Il modo migliore e più veloce è utilizzare SplitCap, che può dividere file di dump di pacchetti di grandi dimensioni in base, ad esempio, alle sessioni. In questo modo otterresti ogni sessione TCP in un file PCAP separato. SplitCap può anche separare i pacchetti in file pcap in base agli indirizzi IP.

Puoi leggere di più su SplitCap sul blog Netresec: http://www.netresec.com/?page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

Scarica SplitCap da qui: http://www.netresec.com/?page=SplitCap

In bocca al lupo!


Esistono versioni di Linux?
ychaouche,

Questo è un bel programma, diciamo che manca della capacità di lavorare con i file pcapng.
Guntram Blohm sostiene Monica il

0
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 ruoterà in 5 minuti
  • -W 48 conteggio dei file
  • -C 100 dimensione del file 100 MB
  • port è possibile specificare la porta in base all'applicazione
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.