← retour aux outils back to tools

# 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 &

3. Replay attack traffic

    tcpreplay -i eth0 attack_traffic.pcap

4. 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 `--loop` with 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 &

3. Rejouer le trafic d’attaque

    tcpreplay -i eth0 attack_traffic.pcap

4. 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 `--loop` avec 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