
Modifiez et rejouez le trafic réseau capturé à des vitesses arbitraires — une suite d'outils pcap pour *NIX et Windows.
Tcpreplay est une suite d'utilitaires sous licence [GPLv3] pour UNIX (et Windows sous [Cygwin]) permettant d'éditer et de rejouer du trafic réseau préalablement capturé par des outils comme [tcpdump] et [Wireshark]. Il classe le trafic comme client ou serveur, réécrit les en-têtes de couche 2/3/4, et le rejoue sur le réseau à travers des commutateurs, routeurs, pare-feu, NIDS et IPS — à un débit allant d'un filet jusqu'au débit maximal du lien. Tcpreplay prend en charge les modes à une ou deux cartes réseau, pour tester à la fois les dispositifs d'écoute et les dispositifs en ligne.
Tcpreplay est utilisé par de nombreux fournisseurs de pare-feu, IDS, IPS, NetFlow et autres équipements réseau, des entreprises, des universités, des laboratoires et des projets open source. Si votre organisation utilise Tcpreplay, merci de nous indiquer qui vous êtes et à quoi vous l'utilisez, afin que nous puissions continuer à prioriser les fonctionnalités qui comptent.
Depuis la version 4.0, Tcpreplay cible également spécifiquement les tests d'appliances [IP Flow][flow]/[NetFlow] : un timing de rejeu précis à haut débit et un rapport de résultats, des statistiques de flux par seconde (fps), et une analyse d'expiration des flux pour ajuster les paramètres de timeout d'un produit de flux — jusqu'à des centaines de milliers de flux/seconde, selon la taille des flux dans le fichier pcap.
📖 La documentation complète se trouve sur https://tcpreplay.appneta.com — un guide de démarrage, une page par outil, des recettes pratiques, les concepts derrière la suite, les pages de manuel et la FAQ. Ce README est la visite rapide ; le site est la référence.
tcpreplay-edit)
ou en randomisant les adresses IP (tcpreplay)tcpreplay seul reste normalement au niveau de la couche 2)Consultez le CHANGELOG pour l'historique complet des versions.
Téléchargez la dernière archive de version (également disponible en miroir sur SourceForge), puis :
tar xf tcpreplay-*.tar.xz && cd tcpreplay-*
./configure && make && sudo make install
Une archive de version publiée contient des analyseurs CLI et des pages de manuel pré-générés, donc cela ne nécessite rien de plus qu'un compilateur C et libpcap — voir Compiler depuis les sources ci-dessous uniquement si vous travaillez à partir d'un dépôt git, ou si vous souhaitez le support de CMake, netmap, AF_XDP ou io_uring.
Des instructions plus détaillées spécifiques à chaque plateforme se trouvent dans le fichier INSTALL
inclus dans l'archive (même contenu que docs/INSTALL ici).
Compiler depuis un dépôt git nécessite python3 et asciidoctor (quel que soit
le système de compilation) pour générer les analyseurs d'options CLI et les pages de manuel à partir des
fichiers *_opts.def — cela a remplacé GNU AutoGen à cette fin dans la version 4.6
(AutoGen est en fin de vie ; ceux-ci ne le sont pas). AutoGen lui-même n'est encore nécessaire que pour un
en-tête interne (src/tcpedit/tcpedit_stub.h) — voir
scripts/autoopts/README.md. Rien de tout cela n'est
nécessaire lors de la compilation d'une archive de version publiée, qui contient déjà ces éléments générés.
./autogen.sh # only needed once, from a git checkout
./configure
make
sudo make install
Depuis la version 4.6, la suite peut également être compilée avec CMake (3.16+) — la méthode recommandée et principale pour compiler Tcpreplay. Autotools est toujours fourni et utilisé pour les archives de version, mais sera finalement abandonné, donc les nouveaux scripts/packages devraient cibler CMake.
cmake -B build
cmake --build build
sudo cmake --install build