Changes in Tcpreplay v4.0

Version 4.0 of Tcpreplay is a massive effort intended to improve portability and enable the Tcpreplay suite to be integrated into other tools and user interfaces- specifically a QT4 GUI.

While most of the code has been reorganized and there is a completely new build system, end users of Tcpreplay won't see many changes.


  • QT4 based GUI
  • Port to native Win32/API to allow running on Windows without Cygwin
  • Improved IPv6 support (even better then 3.4.2)
  • Improved API for writing plugins
  • Separate tcpreplay and tcpreplay-edit binaries are always built

Build Changes

  • Switch from GNU Autotools to Cmake
  • Allows building under GNU Make, XCode, MSVC++ and more
  • More cross-platform code, following C99 coding standards, etc


  • All internal functionality has been exposed as an API allowing other projects to take advantage of Tcpreplay functionality

New Rewrite Rules

The new rules should behave more intelligent. In normal mode (no cache file) rules effect source and/or destination IP/MAC addresses. In direction mode (with a cache file) rules effect client and/or server IP/MAC addresses. The key thing is that when we have a cache file and know the packet direction we alternate editing source and destination IP/MAC addresses based on the packet direction.

  • IP Randomziation (seed)
    • Normal mode: --seed=<src>,<dst>
      Randomize source and/or destination IP's. Set <src> to -1 to disable randomizing source IP's
    • Cache mode: --seed=<client>,<server>
      Randomize client and/or server IP's. Set <client> to -1 to disable randomizing client IP's
  • Client/Server NAT - New options --clientipmap and --serveripmap work just like --pnat but affect client and server IP addresses respectively.
  • MAC addresses: --enet-srcmac and --enet-dstmac replace the old --enet-smac and --enet-dmac but only take one MAC address for normal mode.
  • --enet-clientmac and --enet-servermac take a single MAC address in cache mode.
Last modified 8 years ago Last modified on 10/30/10 05:51:38