Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
tcpflow — Démultiplexeur de paquets TCP/IP. Télécharger depuis : | Kitploit
Outils/GitHubGitHub/simsong/tcpflow
Sniffing et Analyse de PaquetsCriminalistique RéseauAnalyse ForensiqueCriminalistique Numérique
GitHubsimsong/tcpflow

tcpflow

Démultiplexeur de paquets TCP/IP. Télécharger depuis :

Voir le dépôtSite web
1.8k245il y a 6 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

TCPFLOW CI (c++14)

TCPFLOW 1.5.0

Répertoire de téléchargement : http://digitalcorpora.org/downloads/tcpflow/

Installation

La plupart des distributions GNU/Linux courantes incluent tcpflow dans leurs dépôts. Ainsi, sur Debian/Ubuntu/etc, vous pouvez taper :

root@kitploit:~
sudo apt-get install tcpflow

et sur Fedora/RedHat/CentOS/etc, vous pouvez taper :

root@kitploit:~
sudo dnf install tcpflow

Et voilà. Si cela ne vous convient pas pour une raison quelconque, vous pouvez compiler à partir des sources :

Construction à partir des sources

Pour compiler sous Linux

Assurez-vous de disposer des prérequis nécessaires. Il existe des fichiers dans le répertoire racine qui le feront pour vous, en fonction de votre système d'exploitation hôte :

CONFIGURE_ARCH_17_8.sh CONFIGURE_FEDORA_18.sh CONFIGURE_FEDORA_26.sh CONFIGURE_UBUNTU_16_04.sh

Selon votre OS, exécutez simplement :

root@kitploit:~
# sudo bash CONFIGURE_<VOTRE_OS>.sh

Une fois votre OS configuré, compilez et installez avec :

root@kitploit:~
./configure
make
sudo make install

Si vous souhaitez télécharger l’arbre de développement avec git, assurez-vous de faire un checkout complet avec --recursive, puis exécutez bootstrap.sh, configure et make :

root@kitploit:~
git clone --recursive https://github.com/simsong/tcpflow.git
cd tcpflow
bash bootstrap.sh
./configure
make
sudo make install  

Pour télécharger et compiler pour Amazon AMI :

root@kitploit:~
ssh ec2-user@<votre_instance_ec2>
sudo bash yum -y install git make gcc-c++ automake autoconf boost-devel cairo-devel libpcap-devel openssl-devel zlib-devel
git clone --recursive https://github.com/simsong/tcpflow.git
sh bootstrap.sh

Pour compiler pour Windows avec mingw sous Fedora Core :

root@kitploit:~
yum -y install mingw64-gcc mingw64-gcc-c++ mingw64-boost mingw64-cairo mingw64-zlib
mingw64-configure
make

Pour utiliser CMake, voir les instructions détaillées : cmake/README.md

Construction d’un RPM

À partir d’un dépôt propre en tant qu’utilisateur normal (pas root) :

root@kitploit:~
./bootstrap.sh     # Génère le fichier ./configure
./configure        # Génère le fichier tcpflow.spec
rpmbuild -bb tcpflow.spec --build-in-place

Vérifiez le specfile et le RPM obtenu :

root@kitploit:~
rpmlint tcpflow.spec
rpmlint ~/rpmbuild/RPMS/x86_64/tcpflow-....rpm

Installation :

root@kitploit:~
sudo dnf install ~/rpmbuild/RPMS/x86_64/tcpflow-....rpm

Introduction à tcpflow

tcpflow est un programme qui capture les données transmises dans le cadre de connexions TCP (flux) et les stocke d'une manière pratique pour l'analyse de protocole et le débogage. Chaque flux TCP est stocké dans son propre fichier. Ainsi, le flux TCP typique sera stocké dans deux fichiers, un pour chaque direction. tcpflow peut également traiter des flux de paquets 'tcpdump' déjà enregistrés.

tcpflow stocke toutes les données capturées dans des fichiers dont les noms sont de la forme :

root@kitploit:~
   [timestampT]sourceip.sourceport-destip.destport[--VLAN][cNNNN]

où : timestamp est un horodatage optionnel du moment où le premier paquet a été vu T est un délimiteur indiquant qu'un horodatage a été fourni sourceip est l'adresse IP source sourceport est le port source destip est l'adresse IP de destination destport est le port de destination VLAN est le port VLAN c est un délimiteur indiquant que plusieurs connexions sont présentes NNNN est un compteur de connexions, lorsqu'il y a plusieurs connexions avec la même combinaison [temps]/sourceip/sourceport/destip/destport. Notez que le comptage de connexions se produit rarement lorsque le préfixe d'horodatage est utilisé.

VOICI quelques exemples :

root@kitploit:~
   128.129.130.131.02345-010.011.012.013.45103

Le contenu du fichier ci-dessus correspondrait aux données transmises de l'hôte 128.129.131.131 port 2345, vers l'hôte 10.11.12.13 port 45103.

root@kitploit:~
   128.129.130.131.02345-010.011.012.013.45103c0005

La sixième connexion de 128.129.131.131 port 2345, vers l'hôte 10.11.12.13 port 45103.

root@kitploit:~
   1325542703T128.129.130.131.02345-010.011.012.013.45103

Une connexion de 128.129.131.131 port 2345, vers l'hôte 10.11.12.13 port 45103, démarrée à 17h19 (-0500) le 2 janvier 2012.

root@kitploit:~
   128.129.130.131.02345-010.011.012.013.45103--3

Une connexion de 128.129.131.131 port 2345, vers l'hôte 10.11.12.13 port 45103, observée sur le port VLAN 3.

Vous pouvez modifier le modèle utilisé pour créer les noms de fichiers avec les options -F et -T. Si un répertoire apparaît dans le modèle, celui-ci sera créé automatiquement.

Si vous utilisez l'option -a, tcpflow interprétera automatiquement les réponses HTTP.

root@kitploit:~
   Si le fichier de sortie est
      208.111.153.175.00080-192.168.001.064.37314,

   Alors le post-traitement créera les fichiers :
      208.111.153.175.00080-192.168.001.064.37314-HTTP
      208.111.153.175.00080-192.168.001.064.37314-HTTPBODY

   Si le HTTPBODY était compressé avec GZIP, vous pouvez également obtenir un
   troisième fichier :

      208.111.153.175.00080-192.168.001.064.37314-HTTPBODY-GZIP

   Des informations supplémentaires sur ces flux, comme leur valeur de hachage MD5,
   sont également écrites dans le fichier DFXML.

tcpflow est similaire à 'tcpdump', dans le sens où les deux traitent des paquets provenant du réseau ou d'un fichier stocké. Mais il est différent car il reconstruit les flux de données réels et stocke chaque flux dans un fichier séparé pour une analyse ultérieure.

tcpflow comprend les numéros de séquence et reconstruira correctement les flux de données quelles que soient les retransmissions ou les livraisons hors séquence. Cependant, tcpflow ne comprend actuellement pas les fragments IP ; les flux contenant des fragments IP ne seront pas enregistrés correctement.

tcpflow peut générer un rapport récapitulatif au format DFXML. Ce fichier comprend des informations sur le système sur lequel le programme tcpflow a été compilé, où il a été exécuté, ainsi que sur chaque flux TCP, y compris les adresses IP source et destination et les ports, le nombre d'octets, le nombre de paquets et (optionnellement) le hachage MD5 de chaque flux d'octets.

tcpflow utilise la bibliothèque de capture de paquets LBL (disponible à ftp://ftp.ee.lbl.gov/libpcap.tar.Z) et supporte donc les mêmes expressions de filtrage riches que des programmes comme 'tcpdump'. Il devrait se compiler sous la plupart des versions courantes d'UNIX ; voir le fichier INSTALL pour plus de détails.

À quoi ça sert ?

tcpflow est un outil utile pour comprendre les flux de paquets réseau et effectuer des analyses forensiques réseau. Contrairement à des programmes comme WireShark, qui montrent beaucoup de paquets ou une seule connexion TCP, tcpflow peut montrer des centaines, des milliers ou des centaines de milliers de connexions TCP en contexte.

Une utilisation courante de tcpflow est de révéler le contenu des sessions HTTP. Avec tcpflow, vous pouvez reconstruire des pages web téléchargées via HTTP. Vous pouvez même extraire des logiciels malveillants livrés sous forme de 'téléchargements furtifs'.

Jeremy Elson a initialement écrit ce programme pour capturer les données envoyées par divers programmes utilisant des protocoles réseau non documentés, dans le but de rétro-ingénierie de ces protocoles. RealPlayer (et la plupart des autres lecteurs de streaming multimédia), ICQ et AOL IM sont de bons exemples de ce type d'application. Il a ensuite été utilisé pour l'analyse du protocole HTTP.

Simson Garfinkel a fondé Sandstorm Enterprises en 1998. Sandstorm a créé un programme similaire à tcpflow appelé TCPDEMUX et une autre version du programme appelée NetIntercept. Ces programmes sont commerciaux. Après avoir quitté Sandstorm, Simson avait besoin d'un programme de réassemblage de flux TCP. Il a trouvé tcpflow et en a assuré la maintenance.

Bogues

Veuillez signaler les bogues sur le traqueur de problèmes github

tcpflow ne comprend actuellement pas les fragments IP. Les flux contenant des fragments IP ne seront pas enregistrés correctement. La fragmentation IP est un événement de plus en plus rare, cela ne semble donc pas être un problème significatif.

CITATION RECOMMANDÉE

Si vous rédigez un article sur tcpflow, veuillez citer notre rapport technique :

  • Passive TCP Reconstruction and Forensic Analysis with tcpflow, Simson Garfinkel and Michael Shick, Naval Postgraduate School Technical Report NPS-CS-13-003, September 2013. https://calhoun.nps.edu/handle/10945/36026

MAINTENEUR

Simson L. Garfinkel [email protected]

RAPPORT D'ÉTAT TCPFLOW 1.6

Je continue de porter bulk_extractor, tcpflow, be13_api et dfxml vers le C++ moderne. Après avoir examiné les normes, j'ai décidé d'opter pour C++17 plutôt que C++14, car le support de 17 est maintenant largement répandu. (Je n'ai probablement pas besoin de 20). Je reste avec autotools, bien qu'il semble y avoir une forte raison de migrer vers CMake. Je conserve be13_api et dfxml en tant que modules inclus, à la manière de Python, plutôt que d'en faire des bibliothèques autonomes liées. Je ne suis pas sûr à 100% que ce soit la bonne décision, cependant.

Le projet prend plus de temps que prévu car j'effectue également une refactorisation générale du code. Ce qui prend du temps, c'est de comprendre comment démêler tous les objets C++ liés aux options et à la configuration de l'analyseur.

Étant donné que tcpflow et bulk_extractor utilisent tous deux be13_api, mon attention s'est déplacée vers l'utilisation de tcpflow pour rendre be13_api opérationnel, car c'est un programme plus simple. J'en suis maintenant aux trois quarts environ. Je prévois d'avoir quelque chose de terminé avant la fin de 2020.

--- Simson Garfinkel, 18 octobre 2020

REMERCIEMENTS

Merci à :

  • Jeffrey Pang, pour l'implémentation radiotap
  • Doug Madory, pour l'analyseur Wifi
  • Jeremy Elson, pour l'idée originale et l'implémentation initiale de TCP/IP
Télécharger l’outil