tcpreplay
Suite d'outils de rejeu de trafic réseau. Rejoue des fichiers pcap sur une interface réseau à vitesse originale ou personnalisée : utilisée pour tester les signatures IDS/IPS, les équipements réseau et le comportement des applications sous trafic réel. Network traffic replay tool suite. Replays pcap files onto a network interface at original or custom speeds — used for testing IDS/IPS signatures, network equipment, and application behavior under real traffic.
↗ https://tcpreplay.appneta.com/Overview
tcpreplay replays network traffic from pcap files onto live network interfaces. The suite includes tools for splitting, editing, and replaying captures — used to test IDS/IPS signatures against real attack traffic, load-test network devices, and reproduce security incidents.
Basic Usage
Replay a pcap at original speed
tcpreplay -i eth0 capture.pcap
Replay as fast as possible
tcpreplay -t -i eth0 capture.pcap
Replay at specific Mbps
tcpreplay --mbps=10 -i eth0 capture.pcap
Replay N times
tcpreplay -l 5 -i eth0 capture.pcap
Speed Control
Replay at original timestamps (x1 speed)
tcpreplay -i eth0 capture.pcap
Maximum speed
tcpreplay --topspeed -i eth0 capture.pcap
Specific rate (Mbps)
tcpreplay --mbps=100 -i eth0 capture.pcap
Packet per second rate
tcpreplay --pps=1000 -i eth0 capture.pcap
Multiplier (2x normal speed)
tcpreplay --multiplier=2.0 -i eth0 capture.pcap
tcprewrite — Edit Packets
Change source/destination IPs before replaying
tcprewrite --srcipmap=192.168.1.0/24:10.0.0.0/24 \
--dstipmap=10.10.10.0/24:172.16.0.0/24 \
--infile=capture.pcap --outfile=modified.pcap
Rewrite MAC addresses
tcprewrite --enet-smac=00:11:22:33:44:55 \
--enet-dmac=AA:BB:CC:DD:EE:FF \
--infile=capture.pcap --outfile=modified.pcap
Fix checksums after editing
tcprewrite --fixcsum --infile=modified.pcap --outfile=fixed.pcap
tcpprep — Split Captures
Split traffic into client/server pcap files
tcpprep --auto=client --pcap=capture.pcap --cachefile=cache.file
Use cache for directional replay
tcpreplay --cachefile=cache.file -i eth0 -I eth1 capture.pcap
IDS/IPS Testing
Test IDS signatures with known attack traffic 1. Download Snort test pcaps or use existing captures 2. Start Snort in NIDS mode
snort -c /etc/snort/snort.conf -i eth0 &
- Replay attack traffic
tcpreplay -i eth0 attack_traffic.pcap
- Check Snort alerts
tail -f /var/log/snort/alert
Tips
- Fix checksums after tcprewrite modifications — corrupt checksums cause drops
- For bidirectional replay, use two interfaces and tcpprep to split traffic
- Download example attack pcaps from packetlife.net or the Snort VRT
- Use
--loopwith a count to simulate sustained attack traffic - tcpreplay only works on local interfaces — not for remote injection
Help / Man page
tcpreplay [options] pcap
-i IFACE Output interface
-t Topspeed (as fast as possible)
--mbps N Rate in Megabits/sec
--pps N Rate in packets/sec
--multiplier N Speed multiplier
-l N Loop N times (0=infinite)
-c FILE Cache file (from tcpprep)
-I IFACE Second interface (for bidirectional)
tcprewrite [options]:
--srcipmap OLD:NEW Remap source IPs
--dstipmap OLD:NEW Remap destination IPs
--fixcsum Fix checksums
--infile / --outfile Input and output pcap
Vue d’ensemble
tcpreplay rejoue du trafic réseau depuis des fichiers pcap sur des interfaces réseau en direct. La suite inclut des outils pour découper, éditer et rejouer des captures : utilisée pour tester des signatures IDS/IPS contre du trafic d’attaque réel, mettre en charge des équipements réseau, et reproduire des incidents de sécurité.
Utilisation de base
# Rejouer un pcap à la vitesse originale
tcpreplay -i eth0 capture.pcap
# Rejouer le plus rapidement possible
tcpreplay -t -i eth0 capture.pcap
# Rejouer à un débit Mbps spécifique
tcpreplay --mbps=10 -i eth0 capture.pcap
# Rejouer N fois
tcpreplay -l 5 -i eth0 capture.pcap
Contrôle de la vitesse
# Rejouer aux timestamps originaux (vitesse x1)
tcpreplay -i eth0 capture.pcap
# Vitesse maximale
tcpreplay --topspeed -i eth0 capture.pcap
# Débit spécifique (Mbps)
tcpreplay --mbps=100 -i eth0 capture.pcap
# Débit en paquets par seconde
tcpreplay --pps=1000 -i eth0 capture.pcap
# Multiplicateur (2x la vitesse normale)
tcpreplay --multiplier=2.0 -i eth0 capture.pcap
tcprewrite : éditer les paquets
# Changer les IPs source/destination avant de rejouer
tcprewrite --srcipmap=192.168.1.0/24:10.0.0.0/24 \
--dstipmap=10.10.10.0/24:172.16.0.0/24 \
--infile=capture.pcap --outfile=modified.pcap
# Réécrire les adresses MAC
tcprewrite --enet-smac=00:11:22:33:44:55 \
--enet-dmac=AA:BB:CC:DD:EE:FF \
--infile=capture.pcap --outfile=modified.pcap
# Corriger les checksums après édition
tcprewrite --fixcsum --infile=modified.pcap --outfile=fixed.pcap
tcpprep : découper les captures
# Découper le trafic en fichiers pcap client/serveur
tcpprep --auto=client --pcap=capture.pcap --cachefile=cache.file
# Utiliser le cache pour un rejeu directionnel
tcpreplay --cachefile=cache.file -i eth0 -I eth1 capture.pcap
Test IDS/IPS
Tester des signatures IDS avec du trafic d’attaque connu : 1. Télécharger des pcaps de test Snort ou utiliser des captures existantes 2. Démarrer Snort en mode NIDS
snort -c /etc/snort/snort.conf -i eth0 &
- Rejouer le trafic d’attaque
tcpreplay -i eth0 attack_traffic.pcap
- Vérifier les alertes Snort
tail -f /var/log/snort/alert
Conseils
- Corriger les checksums après les modifications tcprewrite : des checksums corrompus entraînent des paquets rejetés
- Pour un rejeu bidirectionnel, utiliser deux interfaces et tcpprep pour découper le trafic
- Télécharger des exemples de pcaps d’attaque depuis packetlife.net ou le Snort VRT
- Utiliser
--loopavec un compteur pour simuler un trafic d’attaque soutenu - tcpreplay ne fonctionne que sur des interfaces locales, pas pour de l’injection à distance
Aide / Page de manuel
tcpreplay [options] pcap
-i IFACE Output interface
-t Topspeed (as fast as possible)
--mbps N Rate in Megabits/sec
--pps N Rate in packets/sec
--multiplier N Speed multiplier
-l N Loop N times (0=infinite)
-c FILE Cache file (from tcpprep)
-I IFACE Second interface (for bidirectional)
tcprewrite [options]:
--srcipmap OLD:NEW Remap source IPs
--dstipmap OLD:NEW Remap destination IPs
--fixcsum Fix checksums
--infile / --outfile Input and output pcap