
Netzwerkverkehr bearbeiten und mit beliebiger Geschwindigkeit wiedergeben — eine Suite von pcap-Tools für *NIX und Windows.
Tcpreplay ist eine Sammlung von unter [GPLv3] lizenzierten Werkzeugen für UNIX (und Windows unter [Cygwin]) zum Bearbeiten und erneuten Abspielen von Netzwerkverkehr, der zuvor mit Tools wie [tcpdump] und [Wireshark] aufgezeichnet wurde. Es klassifiziert den Verkehr als Client- oder Server-Verkehr, schreibt Layer-2/3/4-Header um und spielt ihn über Switches, Router, Firewalls, NIDS und IPS zurück ins Netzwerk – von einem Rinnsal bis hin zur vollen Leitungskapazität. Tcpreplay unterstützt sowohl Single- als auch Dual-NIC- Modi, um sowohl sniffende als auch Inline-Geräte zu testen.
Tcpreplay wird von zahlreichen Firewall-, IDS-, IPS-, NetFlow- und anderen Netzwerk-Anbietern, Unternehmen, Universitäten, Laboren und Open-Source- Projekten eingesetzt. Wenn Ihre Organisation Tcpreplay verwendet, lassen Sie uns bitte wissen, wer Sie sind und wofür Sie es nutzen, damit wir weiterhin die Funktionen priorisieren können, die wichtig sind.
Seit 4.0 zielt Tcpreplay außerdem gezielt auf das Testen von [IP Flow][flow]/[NetFlow]- Appliances ab: präzises Timing bei hohen Raten und Ergebnisberichte, Flows-Per-Second-(fps)-Statistiken und Flow-Expiry-Analyse zur Abstimmung der Timeout-Einstellungen eines Flow-Produkts – bis zu Hunderttausende Flows/Sek., abhängig von den Flow-Größen in der pcap-Datei.
📖 Die vollständige Dokumentation finden Sie unter https://tcpreplay.appneta.com – ein Leitfaden für den Einstieg, eine Seite pro Tool, How-to-Rezepte, die Konzepte hinter der Suite, die Manpages und die FAQ. Dieses README ist der schnelle Überblick; die Website ist die Referenz.
tcpreplay-edit)
oder Randomisierung der IP-Adressen (tcpreplay)tcpreplay bleibt üblicherweise auf Layer 2)Siehe das CHANGELOG für die vollständige Release-Historie.
Laden Sie das neueste Release-Tarball herunter (auch gespiegelt auf SourceForge), dann:
tar xf tcpreplay-*.tar.xz && cd tcpreplay-*
./configure && make && sudo make install
Ein Release-Tarball enthält bereits vorab generierte CLI-Parser und Manpages, daher wird nichts außer einem C-Compiler und libpcap benötigt — siehe Building from source unten nur, wenn du von einem Git-Checkout aus arbeitest oder CMake-, netmap-, AF_XDP- oder io_uring-Unterstützung möchtest.
Detailliertere plattformspezifische Anweisungen findest du in der Datei INSTALL, die im Tarball enthalten ist (gleicher Inhalt wie docs/INSTALL hier).
Das Bauen aus einem Git-Checkout erfordert python3 und asciidoctor (je nach Build-System), um die CLI-Optionsparser und Manpages aus den *_opts.def-Dateien zu generieren — dies ersetzte GNU AutoGen für diesen Zweck in 4.6 (AutoGen ist EOL; diese nicht). AutoGen selbst wird nur noch für einen internen Header (src/tcpedit/tcpedit_stub.h) benötigt — siehe
scripts/autoopts/README.md. Nichts davon ist beim Bauen eines Release-Tarballs erforderlich, da dieser diese bereits generiert enthält.
./autogen.sh # only needed once, from a git checkout
./configure
make
sudo make install
Ab Version 4.6 kann die Suite auch mit CMake (3.16+) gebaut werden — der empfohlene und primäre Weg, Tcpreplay zu kompilieren. Autotools wird weiterhin bereitgestellt und für Release-Tarballs verwendet, wird aber letztendlich eingestellt, sodass neue Skripte/Paketierungen auf CMake abzielen sollten.
cmake -B build
cmake --build build
sudo cmake --install build
Jedes ./configure-Flag hat ein CMake-Äquivalent — siehe die Tabelle am Anfang von CMakeLists.txt. Einige Beispiele:
# debug build with support for the -d option
cmake -B build -DENABLE_DEBUG=ON
# AddressSanitizer or ThreadSanitizer build
cmake -B build -DENABLE_ASAN=ON
cmake -B build -DENABLE_TSAN=ON