GNU/Linux >> Tutoriels Linux >  >> Linux

outil pour diviser les fichiers pcap par connexion TCP ?

Solution 1 :

Vous pouvez utiliser tcpdump pour extraire les parties du pcap que vous voulez ... supposons que vous recherchiez des paquets dans une connexion socket entre TCP/55777 sur un hôte et TCP/80 sur un autre. Votre fichier source est bigfile.pcap , qui est un sniffer dump de nombreuses sessions HTTP vers l'hébergeur en question...

tcpdump -r bigfile.pcap -w session.pcap -s0 tcp and port 55777

Cela extraira tous les paquets allant et venant de TCP/55777 dans bigfile.pcap et copiez-les dans session.pcap .

Solution 2 :

Vous pouvez également utiliser PcapSplitter qui fait partie du package PcapPlusPlus. Il fait exactement ce dont vous avez besoin (c'est-à-dire diviser les fichiers pcap par connexion TCP ou UDP), il est multi-plateforme et il n'a pas de limite sur le nombre de connexions dans le fichier d'origine (vous pouvez donc l'utiliser pour diviser un grand pcap contenant des milliers de connexions voire plus). Le lien ci-dessus est pour le code source, mais si vous voulez un binaire compilé - voici un lien pour les binaires que j'ai créés pour plusieurs plates-formes

MODIF : apparemment, une nouvelle version de PcapPlusPlus a été publiée 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 fichiers binaires que le lien que j'ai fourni précédemment. Vous pouvez le trouver ici

Solution 3 :

tcpflow est ce que vous voulez - divise les pcaps en un seul fichier par session TCP

http://www.circlemud.org/jelson/software/tcpflow/

Solution 4 :

Un peu exagéré, mais en utilisant tshark (livré avec wireshark ), vous pourriez faire avec 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

Ce qui génère des fichiers nommés comme 1509466312.202450000-10.0.0.1-58892-10.0.0.2-80.pcap (basé sur le premier paquet vu pour chaque connexion).

Solution 5 :

Il semble y avoir cet outil qui pourrait fonctionner (je ne l'ai pas utilisé personnellement)

http://www.netresec.com/?page=SplitCap (basé sur Windows)

SplitCap est un séparateur de fichiers pcap opensource gratuit (comme dans la bière). SplitCapsplit un gros fichier pcap en plusieurs fichiers basés sur des sessions TCP et UDP, un fichier pcap par session. SplitCap peut également être utilisé pour diviser un fichier pcap en un fichier pcap par paire d'hôtes au lieu d'une session.


Linux
  1. Supprimer tous les fichiers/répertoires sauf un fichier ?

  2. Script Shell pour déplacer les fichiers les plus anciens ?

  3. KRename - Un puissant renommeur de fichiers par lots pour Linux

  4. ANGRYsearch - Un outil de recherche rapide de fichiers pour les ordinateurs de bureau Linux

  5. Connexion SSH refusée par TCP Wrapper

7 astuces de ligne de commande Linux pour économiser de l'espace sur les fichiers multimédias

Commande ls sous Linux pour lister les fichiers

Tomb File Encryption Tool protège vos fichiers secrets sous Linux

Comment écouter plusieurs connexions tcp en utilisant nc

Quelle est une bonne solution pour le marquage de fichiers sous Linux ?

Comment fonctionnent les autorisations de fichiers pour l'utilisateur root ?