web-dev-qa-db-fra.com

comment diviser un fichier pcap en un ensemble de fichiers plus petits

J'ai un énorme fichier pcap (généré par tcpdump). Lorsque j'essaie de l'ouvrir dans Wireshark, le programme ne répond plus. Existe-t-il un moyen de diviser un fichier en un ensemble de plus petits pour les ouvrir un par un? Le trafic capturé dans un fichier est généré par deux programmes sur deux serveurs, donc je ne peux pas diviser le fichier en utilisant les filtres tcpdump 'Host' ou 'port'. J'ai aussi essayé la commande Linux 'split' :-) mais sans succès. Wireshark ne reconnaîtrait pas le format.

49
facha

Vous pouvez utiliser tcpdump lui-même avec les options -C, -r et -w

tcpdump -r old_file -w new_files -C 10

L'option "-C" spécifie la taille du fichier à diviser. Par exemple: dans le cas ci-dessus, la nouvelle taille des fichiers sera de 10 millions d'octets chacun.

76
Dan Andreatta

Utilisez l'utilitaire editcap qui est distribué avec Wireshark.

20
Dan Carley

Je sais que cette réponse est un peu tardive, mais elle peut aussi servir d'autres personnes. J'ai trouvé un excellent outil pour diviser des fichiers pcap: PcapSplitter . Il fait partie de la bibliothèque PcapPlusPlus ce qui signifie qu'il est multiplateforme (Win32, Linux et Mac OS), et il peut diviser les fichiers pcap en fonction de différents critères tels que la taille du fichier (ce dont vous semblez avoir besoin) mais également par connexion, IP client/serveur, port de serveur (similaire au protocole), nombre de paquets, etc. Je l'ai trouvé très utile. Le lien ci-dessus est pour le code source, mais si vous ne voulez pas/savoir comment compiler, j'ai créé binaires compilés pour plusieurs plateformes avec lesquelles j'ai utilisé cet outil. Je recommande beaucoup cet outil

EDIT: apparemment, une nouvelle version de PcapPlusPlus est sortie et contient des binaires PcapSplitter pour un grand nombre de plates-formes (Windows, Ubuntu 12.04/14.04, Mac OSX Mavericks/Yosemite/El Captian). Je pense qu'il vaut mieux utiliser ces binaires que le lien que j'ai fourni précédemment. Vous pouvez le trouver ici

3
seladb

Le meilleur moyen et le plus rapide consiste à utiliser SplitCap, qui peut fractionner de gros fichiers de vidage de paquets en fonction des sessions par exemple. De cette façon, vous obtiendrez chaque TCP dans un fichier PCAP séparé. SplitCap peut également séparer les paquets en fichiers pcap en fonction des adresses IP.

Vous pouvez en savoir plus sur SplitCap sur le blog Netresec: http://www.netresec.com/?page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

Téléchargez SplitCap à partir d'ici: http://www.netresec.com/?page=SplitCap

Bonne chance!

2
Netresec
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 il tournera dans 5 minutes
  • -W 48 nombre de fichiers
  • -C 100 taille du fichier 100 Mo
  • port vous pouvez spécifier le port en fonction de l'application
0
user531905