Pcap editing and replay tools for *NIX and Windows - Users please download source from

Overview

Tcpreplay

Build Status Coverity Scan Build Status Codacy Badge Website

Tcpreplay is a suite of GPLv3 licensed utilities for UNIX (and Win32 under Cygwin) operating systems for editing and replaying network traffic which was previously captured by tools like tcpdump and Wireshark. It allows you to classify traffic as client or server, rewrite Layer 2, 3 and 4 packets and finally replay the traffic back onto the network and through other devices such as switches, routers, firewalls, NIDS and IPS's. Tcpreplay supports both single and dual NIC modes for testing both sniffing and in-line devices.

Tcpreplay is used by numerous firewall, IDS, IPS, NetFlow and other networking vendors, enterprises, universities, labs and open source projects. If your organization uses Tcpreplay, please let us know who you are and what you use it for so that I can continue to add features which are useful.

Tcpreplay is designed to work with network hardware and normally does not penetrate deeper than Layer 2. Yazan Siam with sponsorship from Cisco developed tcpliveplay to replay TCP pcap files directly to servers. Use this utility if you want to test the entire network stack and into the application.

As of version 4.0, Tcpreplay has been enhanced to address the complexities of testing and tuning IP Flow/NetFlow hardware. Enhancements include:

  • Support for netmap modified network drivers for 10GigE wire-speed performance
  • Increased accuracy for playback speed
  • Increased accuracy of results reporting
  • Flow statistics including Flows Per Second (fps)
  • Flow analysis for analysis and fine tuning of flow expiry timeouts
  • Hundreds of thousands of flows per second (dependent flow sizes in pcap file)

Version 4.0 is the first version delivered by Fred Klassen and sponsored by AppNeta. Many thanks to the author of Tcpreplay, Aaron Turner who has supplied the world with a a solid and full-featured test product thus far. The new author strives to take Tcprelay performance to levels normally only seen in commercial network test equipment.

Downloads

Products

Releases

The Tcpreplay suite includes the following tools:

Network playback products:

  • tcpreplay - replays pcap files at arbitrary speeds onto the network with an option to replay with random IP addresses
  • tcpreplay-edit - replays pcap files at arbitrary speeds onto the network with numerous options to modify packets packets on the fly
  • tcpliveplay - replays TCP network traffic stored in a pcap file on live networks in a manner that a remote server will respond to

Pcap file editors and utilities:

  • tcpprep - multi-pass pcap file pre-processor which determines packets as client or server and splits them into creates output files for use by tcpreplay and tcprewrite
  • tcprewrite - pcap file editor which rewrites TCP/IP and Layer 2 packet headers
  • tcpbridge - bridge two network segments with the power of tcprewrite
  • tcpcapinfo - raw pcap file decoder and debugger

Install package

Please visit our downloads page on our wiki for detailed download and installation instructions.

Simple directions for Unix users:

./configure 
make
sudo make install

Build netmap feature

This feature will detect netmap capable network drivers on Linux and BSD systems. If detected, the network driver is bypassed for the execution duration of tcpreplay and tcpreplay-edit, and network buffers will be written to directly. This will allow you to achieve full line rates on commodity network adapters, similar to rates achieved by commercial network traffic generators.

Note that bypassing the network driver will disrupt other applications connected through the test interface. Don't test on the same interface you ssh'ed into.

Download latest and install netmap from http://info.iet.unipi.it/~luigi/netmap/ If you extracted netmap into /usr/src/ or /usr/local/src you can build normally. Otherwise you will have to specify the netmap source directory, for example:

./configure --with-netmap=/home/fklassen/git/netmap
make
sudo make install

You can also find netmap source here.

Detailed installation instructions are available in the INSTALL document in the tar ball.

Install Tcpreplay from source code

Download the tar ball or zip file. Optionally clone the git repository:

git clone [email protected]:appneta/tcpreplay.git

Support

If you have a question or think you are experiencing a bug, submit them here. It is important that you provide enough information for us to help you.

If your problem has to do with COMPILING tcpreplay:

  • Version of tcpreplay you are trying to compile
  • Platform (Red Hat Linux 9 on x86, Solaris 7 on SPARC, OS X on PPC, etc)
  • Contents of config.status
  • Output from configure and make
  • Any additional information you think that would be useful.

If your problem has to do with RUNNING tcpreplay or one of the sub-tools:

  • Version information (output of -V)
  • Command line used (options and arguments)
  • Platform (Red Hat Linux 9 on Intel, Solaris 7 on SPARC, etc)
  • Make & model of the network card(s) and driver(s) version
  • Error message (if available) and/or description of problem
  • If possible, attach the pcap file used (compressed with bzip2 or gzip preferred)
  • The core dump or backtrace if available
  • Detailed description of your problem or what you are trying to accomplish

Note: The author of tcpreplay primarily uses OS X and Linux; hence, if you're reporting an issue on another platform, it is important that you give very detailed information as I may not be able to reproduce your issue.

You are also strongly encouraged to read the extensive documentation (man pages, FAQ, documents in /docs and email list archives) BEFORE posting to the tcpreplay-users email list:

http://lists.sourceforge.net/lists/listinfo/tcpreplay-users

If you have a bug to report you can submit it here:

https://github.com/appneta/tcpreplay/issues

If you want to help with development, visit our developers wiki:

https://github.com/appneta/tcpreplay/wiki

Lastly, please don't email the authors directly with your questions. Doing so prevents others from potentially helping you and your question/answer from showing up in the list archives.

License

Tcpreplay 3.5 is GPLv3 and includes software developed by the University of California, Berkeley, Lawrence Berkeley Laboratory and its contributors.

Authors and Contributors

Tcpreplay is authored by Aaron Turner. In 2013 Fred Klassen, Founder and VP Network Technology, AppNeta added performance features and enhancements, and ultimately took over the maintenance of Tcpreplay.

The source code repository has moved to GitHub. You can get a working copy of the repository by installing git and executing:

git clone https://github.com/appneta/tcpreplay.git

How To Contribute

It's easy. Basically you...


Details:

You will find that you will not be able to contribute to the Tcpreplay project directly if you use clone the appneta/tcpreplay repo. If you believe that you may someday contribute to the repository, GitHub provides an innovative approach. Forking the @appneta/tcpreplay repository allows you to work on your own copy of the repository and submit code changes without first asking permission from the authors. Forking is also considered to be a compliment so fork away:

  • if you haven't already done so, get yourself a free GitHub ID and visit @appneta/tcpreplay
  • click the Fork button to get your own private copy of the repository
  • on your build system clone your private repository:
git clone [email protected]:<your ID>/tcpreplay.git
  • we like to keep the master branch available for projection ready code so we recommend that you make a branch for each feature or bug fix
  • when you are happy with your work, push it to your GitHub repository
  • on your GitHub repository select your new branch and submit a Pull Request to master
  • optionally monitor the status of your submission here

We will review and possibly discuss the changes with you through GitHub services. If we accept the submission, it will instantly be applied to the production master branch.

Additional Information

Please visit our wiki.

or visit our developers wiki

Comments
  • [Feature] create automated CI for linter/code format

    [Feature] create automated CI for linter/code format

    Is your feature request related to a problem? Please describe. Want CI on Pull Request to run clang-format and clang-tidy

    Describe the solution you'd like Possibly can use C/C++ Linter Action in GitHub Marketplace

    Describe alternatives you've considered Super-Linter

    opened by fklassen 0
  • [Bug] Reachable assertion in tcpreplay, fast_edit_packet, src/send_packets.c:116

    [Bug] Reachable assertion in tcpreplay, fast_edit_packet, src/send_packets.c:116

    Describe the bug There is a reachable assertion error in fast_edit_packet, src/send_packets.c:116.

    To Reproduce Steps to reproduce the behavior:

    1. build with
    CFLAGS="-g -fsanitize=address -fno-omit-frame-pointer" CXXFLAGS="-g -fsanitize=address -fno-omit-frame-pointer" ./configure --prefix=$PWD/build_asan --disable-shared --enable-debug
    
    1. download the poc file

    poc_116.zip

    1. run
    ./build_asan/bin/tcpreplay --unique-ip -l 4 --pps-multi 3 -p 200  -v -i eth0 poc
    

    Expected behavior

    $ gdb  -batch -ex "run" -ex "bt" --args ./build_asan/bin/tcpreplay --unique-ip -l 4 --pps-multi 3 -p 200  -v -i eth0 poc
    warning: Error disabling address space randomization: Operation not permitted
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    [Detaching after fork from child process 126967]
    reading from file -, link-type NULL (BSD loopback)
    08:01:36.000096 [|null]
    Warning in send_packets.c:send_packets() line 489:
    Unable to send packet: Error with PF_PACKET send() [1]: Invalid argument (errno = 22)
    11:32:08.1415590328 AF Unknown (8960), length 74: 
    	0x0000:  0000 0000 0000 1114 08ff ff05 1045 d4c3  .............E..
    	0x0010:  b2ff 0200 0400 0000 7012 0000 0000 603f  ........p.....`?
    	0x0020:  00ff ffff 9910                           ......
    11:29:35.1415590175 AF Unknown (4294961407), length 74: 
    	0x0000:  f7e4 ff00 0000 8009 0800 4510 d4c3 b2a1  ..........E.....
    	0x0010:  0200 0400 0017 1a29 0000 0040 603f 0000  .......)...@`?..
    	0x0020:  0100 0010                                ....
    11:29:04.1415590144 AF Unknown (255), length 65354: 
    	0x0000:  f300 0000 ffff 7fff 0064 4045 d4c3 b2ff  .........d@E....
    	0x0010:  0000 4a00 0000 0200 0400 005c 1a12 0000  ..J........\....
    	0x0020:  0100 0000                                ....
    [Detaching after fork from child process 127062]
    tcpreplay: send_packets.c:116: fast_edit_packet: Assertion `l2len > 0' failed.
    reading from file -, link-type NULL (BSD loopback)
    
    Program received signal SIGABRT, Aborted.
    __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
    50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
    #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
    #1  0x00007ffff72e3859 in __GI_abort () at abort.c:79
    #2  0x00007ffff72e3729 in __assert_fail_base (fmt=0x7ffff7479588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5555555d3f40 "l2len > 0", file=0x5555555d3f00 "send_packets.c", line=116, function=<optimized out>) at assert.c:92
    #3  0x00007ffff72f4fd6 in __GI___assert_fail (assertion=0x5555555d3f40 "l2len > 0", file=0x5555555d3f00 "send_packets.c", line=116, function=0x5555555d5560 <__PRETTY_FUNCTION__.10166> "fast_edit_packet") at assert.c:101
    #4  0x000055555556f1fa in fast_edit_packet (pkthdr=0x7fffffffdac0, pktdata=0x7fffffffd9e0, iteration=1, cached=false, datalink=0) at send_packets.c:116
    #5  0x0000555555571b9c in send_packets (ctx=0x61e000000080, pcap=0x617000000400, idx=0) at send_packets.c:406
    #6  0x0000555555583efc in replay_file (ctx=0x61e000000080, idx=0) at replay.c:182
    #7  0x0000555555582e70 in tcpr_replay_index (ctx=0x61e000000080) at replay.c:59
    #8  0x0000555555581be1 in tcpreplay_replay (ctx=0x61e000000080) at tcpreplay_api.c:1149
    #9  0x000055555557a14d in main (argc=1, argv=0x7fffffffe600) at tcpreplay.c:180
    

    System (please complete the following information):

    • OS: Ubuntu
    • OS version: 20.04.5
    • Tcpreplay Version: 4.4.3
    tcpreplay version: 4.4.3 (build git:v4.4.2-1-g76644c24) (debug)
    

    Additional context

    opened by waugustus 0
  • destination never received a

    destination never received a "tcpreplayed" trap

    You are opening a bug report against the Tcpreplay project: we use GitHub Issues for tracking bug reports and feature requests.

    If you have a question about how to use Tcpreplay, you are at the wrong site. You can ask a question on the tcpreplay-users mailing list or on Stack Overflow with [tcpreplay] tag. General help is available here.

    If you have a build issue, consider downloading the latest release

    Otherwise, to report a bug, please fill out the reproduction steps (below) and delete these introductory paragraphs. Thanks!

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce Steps to reproduce the behavior:

    1. capture with tcpdump -i any port 162 -nnvv -w test.pcap
    2. replay with udpreplay to see it working well
    3. tcpreplay -i ens224 -tKv test.pcap returns a 0 return code
    4. tcpdump -i any port 162 shows no traffic

    Expected behavior A clear and concise description of what you expected to happen. the trap into test.pcap should be seen

    Screenshots If applicable, add screenshots to help explain your problem.

    System (please complete the following information):

    • OS: Rhel
    • v8.4
    • Tcpreplay Version [e.g. 4.4.1]

    Additional context Add any other context about the problem here. first use of it, udpreplay works fine, I want to preserve source like tcpreplay seems to do at send.

    shelved Cannot reproduce 
    opened by TennisGenius 2
  • [Bug] In latest release 4.4.2 Tcpreplay-edit is not working for ipv6 packets in linux.

    [Bug] In latest release 4.4.2 Tcpreplay-edit is not working for ipv6 packets in linux.

    Describe the bug Tcpreplay-edit is not working for ipv6 packets in latest release 4.4.2. But it is working fine in release 4.3.4 , Looks like something got broken in release 4.4.0.

    To Reproduce Steps to reproduce the behavior: tcpreplay-edit -l 1 --intf1= --enet-smac= --enet-dmac= ipv6_test.pcap

    Expected behavior Tcpreplay-edit should work for both ipv4 and ipv6 packets

    System (please complete the following information):

    • OS: Linux
    • OS version : 7.9
    • Tcpreplay Version : Issue is seen from release 4.4.0

    Additional context Ipv6 behavior https://github.com/appneta/tcpreplay/search?q=IPV6_MULTICAST_MAC

    wontfix Cannot reproduce 
    opened by nahidaimroz 1
  • [Bug] Linker error in txring.c using Android NDK version 23

    [Bug] Linker error in txring.c using Android NDK version 23

    Describe the bug A clear and concise description of what the bug is. Linker error in txring.c using Android NDK version 23

    ld: error: undefined symbol: txring_put
    >>> referenced by sendpacket.c:303
    >>>               sendpacket.o:(sendpacket) in archive ./common/libcommon.a
    
    ld: error: undefined symbol: txring_init
    >>> referenced by sendpacket.c:990
    >>>               sendpacket.o:(sendpacket_open) in archive ./common/libcommon.a
    
    

    To Reproduce Steps to reproduce the behavior:

    1. after configuration, we will have
    Supported Packet Injection Methods (*):
    Linux TX_RING:              yes
    Linux PF_PACKET:            yes
    
    1. run : make

    Expected behavior Make should be finished without any error

    Screenshots

    System (please complete the following information):

    • OS: Ubuntu
    • OS 18.04 LTS
    • Tcpreplay Version : latest release in master branch with commit : 09f07748dcabe3d58961f123f31dd0f75198a389

    Additional context The macro HAVE_TX_RING is defined in config.h

    /* Do we have Linux TX_RING socket support? */
    #define HAVE_TX_RING 1
    

    in header file : txring.h, we include config.h then check ifdef HAVE_TX_RING, it's OK, definition of HAVE_TX_RING is now available in txring.h.

    #include "config.h"
    #include "defines.h"
    
    #ifdef HAVE_TX_RING
    

    However, in txring.c, check ifdef HAVE_TX_RING is added firstly but it's not yet defined.

    #ifdef HAVE_TX_RING
    
    #include "err.h"
    #include "utils.h"
    #include "txring.h"
    #include <unistd.h>
    #include <string.h>
    #include <sys/mman.h>
    #include <errno.h>
    

    we need to move ifdef HAVE_TX_RING after header inclusion, like this

    #include "err.h"
    #include "utils.h"
    #include "txring.h"
    #include <unistd.h>
    #include <string.h>
    #include <sys/mman.h>
    #include <errno.h>
    
    #ifdef HAVE_TX_RING
    
    help wanted 
    opened by NghiaNT1989 1
Releases(v4.4.3)
  • v4.4.3(Jan 2, 2023)

    This is Tcpreplay suite 4.4.3 This release contains bug fixes only.

    What's Changed

    • Feature #759: Upgrade autogen/libopts to 5.18.16 by @fklassen in https://github.com/appneta/tcpreplay/pull/760
    • Bug #751 don't exit after send error by @fklassen in https://github.com/appneta/tcpreplay/pull/761
    • Bug #750: configure: libpcap version robustness by @fklassen in https://github.com/appneta/tcpreplay/pull/764
    • Bug #749 flow stats: avoid overstating flow packet count by @fklassen in https://github.com/appneta/tcpreplay/pull/765
    • Bug #750 more libpcap version updates by @fklassen in https://github.com/appneta/tcpreplay/pull/766
    • Bug #767 tests: support for out-of-tree tests by @fklassen in https://github.com/appneta/tcpreplay/pull/768
    • Bug #750 - fix macOS test failure by @fklassen in https://github.com/appneta/tcpreplay/pull/770
    • 4.4.3 by @fklassen in https://github.com/appneta/tcpreplay/pull/769 and https://github.com/appneta/tcpreplay/pull/771

    Full Changelog: https://github.com/appneta/tcpreplay/compare/v4.4.2...v4.4.3

    Download the release by clicking the tcpreplay* assets below ...

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.4.3.tar.gz(4.17 MB)
    tcpreplay-4.4.3.tar.gz.asc(516 bytes)
    tcpreplay-4.4.3.tar.xz(732.49 KB)
    tcpreplay-4.4.3.tar.xz.asc(516 bytes)
  • v4.4.2(Aug 26, 2022)

    This is Tcpreplay suite 4.4.2

    This release contains bug fixes only.

    What's Changed

    • Bug #716 heap-buffer-overflow in get_l2len_protocol() by @fklassen in https://github.com/appneta/tcpreplay/pull/738
    • Bug #721 fixed typo in tcpliveplay.c by @jonathan-dev in https://github.com/appneta/tcpreplay/pull/721
    • Bug #717 avoid assertion in get_layer4_v6 by @fklassen in https://github.com/appneta/tcpreplay/pull/739
    • Bug #718 improved heap-overflow protection by @fklassen in https://github.com/appneta/tcpreplay/pull/740
    • Bug #719 better overflow protection in parse_mpls by @fklassen in https://github.com/appneta/tcpreplay/pull/741
    • Bug #725 FORCE_ALIGN on arm by @fklassen in https://github.com/appneta/tcpreplay/pull/742
    • Bug #729 tcpreplay_edit: disallow both -K and -l options by @fklassen in https://github.com/appneta/tcpreplay/pull/743
    • Bug #735 heap-overflow in get_l2len_protocol by @fklassen in https://github.com/appneta/tcpreplay/pull/744
    • Bug #745 remove autogen.sh from distribution tarballs by @fklassen in https://github.com/appneta/tcpreplay/pull/747

    New Contributors

    • @jonathan-dev made their first contribution in https://github.com/appneta/tcpreplay/pull/721

    Full Changelog: https://github.com/appneta/tcpreplay/compare/v4.4.1...v4.4.2

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.4.2.tar.gz(4.16 MB)
    tcpreplay-4.4.2.tar.gz.asc(516 bytes)
    tcpreplay-4.4.2.tar.xz(733.00 KB)
    tcpreplay-4.4.2.tar.xz.asc(516 bytes)
  • v4.4.2-beta1(Aug 7, 2022)

    This is Tcpreplay suite 4.4.2-beta1

    This release contains bug fixes only.

    What's Changed

    • But #716 heap-buffer-overflow in get_l2len_protocol() by @fklassen in https://github.com/appneta/tcpreplay/pull/738
    • fixed typo in tcpliveplay.c by @jonathan-dev in https://github.com/appneta/tcpreplay/pull/721
    • Bug #717 avoid assertion in get_layer4_v6 by @fklassen in https://github.com/appneta/tcpreplay/pull/739
    • Bug #718 improved heap-overflow protection by @fklassen in https://github.com/appneta/tcpreplay/pull/740
    • Bug #719 better overflow protection in parse_mpls by @fklassen in https://github.com/appneta/tcpreplay/pull/741
    • Bug #725 FORCE_ALIGN on arm by @fklassen in https://github.com/appneta/tcpreplay/pull/742
    • Bug #729 tcpreplay_edit: disallow both -K and -l options by @fklassen in https://github.com/appneta/tcpreplay/pull/743
    • Bug #735 heap-overflow in get_l2len_protocol by @fklassen in https://github.com/appneta/tcpreplay/pull/744

    New Contributors

    • @jonathan-dev made their first contribution in https://github.com/appneta/tcpreplay/pull/721

    Full Changelog: https://github.com/appneta/tcpreplay/compare/v4.4.1...v4.4.2-beta1

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.4.2-beta1.tar.gz(4.17 MB)
    tcpreplay-4.4.2-beta1.tar.gz.asc(516 bytes)
    tcpreplay-4.4.2-beta1.tar.xz(733.25 KB)
    tcpreplay-4.4.2-beta1.tar.xz.asc(516 bytes)
  • v4.4.1(Feb 12, 2022)

    This is Tcpreplay suite 4.4.1

    This release contains bug fixes only.

    What's Changed

    • Bug #708 fix support for feeding PCAP files from STDIN by @fklassen in https://github.com/appneta/tcpreplay/pull/709
    • Bug #705 fix Debian/kfreebsd build by @fklassen in https://github.com/appneta/tcpreplay/pull/707
    • Bug #704 fix typos by @fklassen in https://github.com/appneta/tcpreplay/pull/710
    • Bug #703 safeguard against corrupt packet lengths in checksum functions by @fklassen in https://github.com/appneta/tcpreplay/pull/712
    • Bug #702 fix double free in Juniper DLT by @fklassen in https://github.com/appneta/tcpreplay/pull/711

    Full Changelog: https://github.com/appneta/tcpreplay/compare/v4.4.0...v4.4.1

    Download the release by clicking the tcpreplay* assets below ...

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.4.1.tar.gz(4.16 MB)
    tcpreplay-4.4.1.tar.gz.asc(516 bytes)
    tcpreplay-4.4.1.tar.xz(733.43 KB)
    tcpreplay-4.4.1.tar.xz.asc(516 bytes)
  • v4.4.0(Jan 31, 2022)

    This is Tcpreplay suite 4.4.0

    This release contains several bug fixes and enhancements.

    What's Changed

    • Update strlcpy.c and strlcat.c by @guijan in https://github.com/appneta/tcpreplay/pull/656
    • 4.3.4 by @fklassen in https://github.com/appneta/tcpreplay/pull/636
    • Apply #616 fix to flows.c, fix #665 by @dumprop in https://github.com/appneta/tcpreplay/pull/666
    • Bug #670: update Travis CI to focal by @fklassen in https://github.com/appneta/tcpreplay/pull/672
    • Bug #669: LINUX installed netmap auto detection by @fklassen in https://github.com/appneta/tcpreplay/pull/673
    • Feature #626 - Support for Q-in-Q VLAN tags by @fklassen in https://github.com/appneta/tcpreplay/pull/675
    • Bug #677 skipbroadcast by @fklassen in https://github.com/appneta/tcpreplay/pull/678
    • Bug #689: add security policy document by @fklassen in https://github.com/appneta/tcpreplay/pull/691
    • Directories of pcaps as arguments by @halver94 in https://github.com/appneta/tcpreplay/pull/682
    • PR #682 stage PR from @halver94 by @fklassen in https://github.com/appneta/tcpreplay/pull/692
    • Bug #679 fix PPS calc for long-running sessions by @fklassen in https://github.com/appneta/tcpreplay/pull/693
    • Bug #668 Improve SDK selection by @fklassen in https://github.com/appneta/tcpreplay/pull/694
    • Bug #696 fix directory include feature by @fklassen in https://github.com/appneta/tcpreplay/pull/697
    • Bug #695 mac os tests fail by @fklassen in https://github.com/appneta/tcpreplay/pull/698
    • Bug #674 - Revert "send_packet: Avoid clock drift by using time since first packet" by @fklassen in https://github.com/appneta/tcpreplay/pull/699
    • Feature #563 mac update on multicast by @fklassen in https://github.com/appneta/tcpreplay/pull/700

    New Contributors

    • @dumprop made their first contribution in https://github.com/appneta/tcpreplay/pull/666
    • @halver94 made their first contribution in https://github.com/appneta/tcpreplay/pull/682

    Full Changelog: https://github.com/appneta/tcpreplay/compare/v4.3.4...v4.4.0

    Download the release by clicking the tcpreplay* assets below ...

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.4.0.tar.gz(4.16 MB)
    tcpreplay-4.4.0.tar.gz.asc(516 bytes)
    tcpreplay-4.4.0.tar.xz(732.15 KB)
    tcpreplay-4.4.0.tar.xz.asc(516 bytes)
  • v4.3.4(May 2, 2021)

    This release is for bug fixes only.

    • ASAN reports memory leaks while running tests (#662)
    • local libopts compiler warnings (#658)
    • DLT name for DLT_C_JNPR_ETHER in documentation (#649)
    • clean up new_cidr_map() string manipulation on error exit (#648)
    • fix gcc 8.3.0 build warnings (#634)
    • invalid --pps value protection (#632)
    • packets slowly drift further and further behind when they should be sent (#630)
    • 64 bit rollover can cause pps replay issues after several hours (#629)
    • typo fixes (#626) (#627)
    • DLT_NULL/DLT_LOOP support for cross-platform PF_INET6 (#624)
    • armv5 Freescale compile (#623)
    • heap buffer overflow in tcpreplay fast_edit_packet (#620)
    • heap buffer overflow in tcpreplay get_next_packet (#619)
    • CVE-2020-24266 heap buffer overflow in tcpprep get_l2len (#617)
    • CVE-2020-24265 heap buffer overflow in tcpprep (#616)
    • fix UNUSED macro declaration (#614)
    • handle malformed and unsupported packets as soft errors (#613)
    • compile failure on aarch64-linux-android (#612)
    • tcprewrite --fixlen not working on DLT conversion (#582)
    • fix configure --without-libdnet (#567)
    • ensure automake version is at least 1.15 (#553)
    • with multiplier option only first file can be sent and hang (#472)
    • do not create tap0 if device already exists (#411) (#651)

    Download the release by clicking the tcpreplay* assets below ...

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.3.4.tar.gz(3.62 MB)
    tcpreplay-4.3.4.tar.gz.asc(516 bytes)
    tcpreplay-4.3.4.tar.xz(721.95 KB)
    tcpreplay-4.3.4.tar.xz.asc(516 bytes)
  • v4.3.3(Jun 14, 2020)

    This release contains bug fixes only:

    • Increase cache buffers size to accomodate VLAN edits (#594)
    • Correct L2 header length to correct IP header offset (#583)
    • Fix warnings from gcc version 10 (#580)
    • Heap Buffer Overflow in randomize_iparp (#579)
    • Use after free in get_ipv6_next (#578)
    • Heap Buffer Overflow in git_ipv6_next (#576)
    • Call pcap_freecode() on pcap_compile() (#572)
    • Increase max snaplen to 262144 (#571)
    • Fix divide by zero in fuzzing (#570)
    • Unique IP repeats at very high iteration counts (#566)
    • Fails to compile on FreeBSD amd64 13.0 (#558)
    • Heap Buffer Overflow in do_checksum (#556) (#577)
    • Attempt to correct corrupt pcap files, if possible (#557)
    • Fix GCC v10 warnings (#555)
    • Remove some duplicated SOURCES entries (#551)
    • Expand /dev/bpfX hard limit to fix macOS Mojave (#550)
    • Implement --loopdelay-ms when using --loop=0 (#546)
    • Heap overflow packet2tree and get_l2len (#530)

    Download the release by clicking the tcpreplay* assets below ...

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.3.3.tar.gz(3.55 MB)
    tcpreplay-4.3.3.tar.gz.asc(516 bytes)
    tcpreplay-4.3.3.tar.xz(730.68 KB)
    tcpreplay-4.3.3.tar.xz.asc(516 bytes)
  • v4.3.2(Mar 12, 2019)

  • v4.3.1(Dec 27, 2018)

  • v4.3.0(Nov 10, 2018)

    This is Tcpreplay suite 4.3.0

    This release contains several bug fixes and enhancements:

    • Fix maxOS TOS checksum failure (#524)
    • TCP sequence edits seeding (#514)
    • Fix issues identifed by Codacy (#493)
    • CVE-2018-18408 use-after-free in post_args (#489)
    • CVE-2018-18407 heap-buffer-overflow csum_replace4 (#488)
    • CVE-2018-17974 heap-buffer-overflow dlt_en10mb_encode (#486)
    • CVE-2018-17580 heap-buffer-overflow fast_edit_packet (#485)
    • CVE-2018-17582 heap-buffer-overflow in get_next_packet (#484)
    • Out-of-tree build (#482)
    • CVE-2018-13112 heap-buffer-overflow in get_l2len (#477 dup #408)
    • Closing stdin on pipe (#479)
    • Second pcap file hangs on multiplier option (#472)
    • Jumbo frame support for fragroute option (#466)
    • TCP sequence edit ACK corruption (#451)
    • TCP sequence number edit initial SYN packet should have zero ACK (#450)
    • Travis CI build fails due to new build images (#432)
    • Upgrade libopts to 5.18.12 to address version build issues (#430)
    • Add ability to change tcp SEQ/ACK numbers (#425)
    • Hang using loop and netmap options (#424)
    • tcpprep -S not working for large cache files (#423)
    • Unable to tcprewrite range of ports with --portmap (#422)
    • --maxsleep broken for values less than 1000 (#421)
    • -T flag breaks traffic replay timing (#419)
    • Respect 2nd packet timing (#418)
    • Avoid non-blocking behaviour when using STDIN (#416)
    • pcap containing >1020 packets produces invalid cache file (#415)
    • manpage typos (#413)
    • Fails to open tap0 on Zephyr (#411)
    • Heap-buffer-overflow in get_l2protocol (#410)
    • Heap-buffer-overflow in packet2tree (#409)
    • Heap-buffer-overflow in get_l2len (#408)
    • Heap-buffer-overflow in flow_decode (#407)
    • Rewrite zero IP total length field to match the actual packet length (#406)
    • Stack-buffer-overflow in tcpcapinfo (#405)
    • tcpprep --include option does not exclude (#404)
    • Negative-size-param memset in dlt_radiotap_get_80211 (#402)
    • tcpeplay --verbose option not working (#398)
    • Fix replay when using --with-testnic (#178)

    Download the release by clicking the tcpreplay* assets above ...

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.3.0.tar.gz(3.55 MB)
    tcpreplay-4.3.0.tar.gz.asc(516 bytes)
    tcpreplay-4.3.0.tar.xz(729.60 KB)
    tcpreplay-4.3.0.tar.xz.asc(516 bytes)
  • v4.2.6(May 16, 2017)

  • v4.2.5(May 8, 2017)

    This is Tcpreplay suite 4.2.5

    This release includes:

    • Fix issues found by scan-build (#384)
    • Improve --portmap help message (#381)
    • AFL detected security crash in fuzz feature (#380)
    • Coverity static scan detected issues (#374)
    • Fuzz should not be overwritting Layer 3 (#372)
    • Add --fuzz-factor option to specify fuzz ratio (#371)
    • Warnings when building on old distributions (#368)
    • Fix more Lintian detected spelling errors (#365)
    • Fuzz test failure on ARM and MIPS (#364)
    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.2.5.tar.gz(3.33 MB)
    tcpreplay-4.2.5.tar.gz.asc(473 bytes)
    tcpreplay-4.2.5.tar.xz(697.29 KB)
    tcpreplay-4.2.5.tar.xz.asc(473 bytes)
  • v4.2.4(Apr 27, 2017)

  • v4.2.3(Apr 20, 2017)

    This is Tcpreplay suite 4.2.3

    This release includes:

    • Archive (remove) QuickTX until maintainer found (#357)
    • Ubuntu precise 32bit_build (#356)

    Note that Ubuntu packages a very old version (3.4.4). If you want the latest version on Ubuntu, add our PPA.

    sudo add-apt-repository ppa:appneta/ppa
    sudo apt-get update
    

    Download the release by clicking the tcpreplay* links below.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.2.3.tar.gz(3.32 MB)
    tcpreplay-4.2.3.tar.gz.asc(473 bytes)
    tcpreplay-4.2.3.tar.xz(696.66 KB)
    tcpreplay-4.2.3.tar.xz.asc(473 bytes)
  • v4.2.2(Apr 8, 2017)

  • v4.2.1(Mar 23, 2017)

  • v4.2.0(Mar 20, 2017)

    This is Tcpreplay suite version 4.2.0

    Features and fixes include:

    • MAC rewriting capabilities by Pedro Arthur (#313)
    • Fix several issues identified by Coverity (#305)
    • Packet distortion --fuzz-seed option by Gabriel Ganne (#302)
    • Add --unique-ip-loops option to modify IPs every few loops (#296)
    • Netmap startup delay increase (#290)
    • tcpcapinfo buffer overflow vulnerablily (#278)
    • Update git-clone instructions by Kyle McDonald (#277)
    • Allow fractions for --pps option (#270)
    • Print per-loop stats with --stats=0 (#269)
    • Add protection against packet drift by Guillaume Scott (#268)
    • Print flow stats periodically with --stats output (#262)
    • Include Travis-CI build support by Ilya Shipitsin (#264) (#285)
    • tcpreplay won't replay all packets in a pcap file with --netmap (#255)
    • First and last packet times in --stats output (#239)
    • Switch to wire speed after 30 minutes at 6 Gbps (#210)
    • tcprewrite fix checksum properly for fragmented packets (#190)

    Download the release by clicking the tcpreplay* links below.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.2.0.tar.gz(3.37 MB)
    tcpreplay-4.2.0.tar.gz.asc(473 bytes)
    tcpreplay-4.2.0.tar.xz(717.12 KB)
    tcpreplay-4.2.0.tar.xz.asc(473 bytes)
  • v4.1.2(Nov 19, 2016)

  • v4.1.1(Jan 11, 2016)

    This is Tcpreplay suite version 4.1.1

    Fixes include:

    • Improve --pps accuracy and performance (#236)
    • Option --unique-ip accepts --duration (#227)
    • RFC1624 incremental checksums (#225)
    • Option --duration performance optimizations (#223)
    • Correct company name in license (#217)
    • Compile and mult-arch cross-compile on ARM (#211)
    • Switch to wire speed after 30 minutes at 6 Gbps (#210)
    • Tap device support for Linux and FreeBSD from Murat Demirten (#207)
    • Handle loopback for linux cooked capture files from corentin-p1(Linux SLL) (#204)
    • Master doesn't compile on OS X 10.11 (#203)
    • Recognise tbd stubs from Dominyk Tiller (#202)
    • Support for tcprewrite multiple IP CIDR (#199)
    • Fix incorrect checksums after editing fragmented packets (#190)
    • Option --loop=0 full wire wire speed after 1st pass (#172 #191)
    • Big-endian tcpliveplay work-around from Brian Micek (#194)
    • Build OS X using existing XCode SDK (#185)
    • Update to autogen version 5.18.6 and libopts 46.0.16 (#182)
    • netmap reports impossibly high capacity (#176)
    • Duration feature from dexteradeus (#175)
    • Stop sending and exit when limit is reached (#174)
    • Extra packets sent with -L option (#173)
    • Buffer overflow bug in tcpprep (#167)
    • netmap optimizations (#93)

    Download the release by clicking the tcpreplay* links below.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.1.1.tar.gz(2.07 MB)
    tcpreplay-4.1.1.tar.gz.asc(473 bytes)
  • v4.1.1-beta3(Dec 20, 2015)

    This is Tcpreplay suite version 4.1.1 Beta 3

    Fixes include:

    • Option --unique-ip accepts --duration (#227)
    • RFC1624 incremental checksums (#225)
    • Option --duration performance optimizations (#223)
    • Correct company name in license (#217)
    • Compile and mult-arch cross-compile on ARM (#211)
    • Switch to wire speed after 30 minutes at 6 Gbps (#210)
    • Master doesn't compile on OS X 10.11 (#203)
    • Support for tcprewrite multiple IP CIDR (#199)
    • Option --loop=0 full wire wire speed after 1st pass (#172 #191)
    • Fix incorrect checksums after editing fragmented packets (#190)
    • Extra packets sent with -L option (#173)
    • Buffer overflow bug in tcpprep (#167)

    Download the release by clicking the tcpreplay* links below.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.1.1-beta3.tar.gz(2.07 MB)
    tcpreplay-4.1.1-beta3.tar.gz.asc(473 bytes)
  • v4.1.1-beta2(Nov 22, 2015)

    This is Tcpreplay suite version 4.1.1 Beta 2

    Fixes include: - Tap device support for Linux and FreeBSD from Murat Demirten (#207) - Handle loopback for linux cooked capture files from corentin-p1(Linux SLL) (#204) - Recognise tbd stubs from Dominyk Tiller (#202) - Big-endian tcpliveplay work-around from Brian Micek (#194) - Build OS X using existing XCode SDK (#185) - Update to autogen version 5.18.6 and libopts 46.0.16 (#182) - Duration feature from dexteradeus (#175) - Stop sending and exit when limit is reached (#174)

    Download the release by clicking the tcpreplay* links below.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.1.1-beta2.tar.gz(2.06 MB)
    tcpreplay-4.1.1-beta2.tar.gz.asc(473 bytes)
  • v4.1.0(Dec 17, 2014)

    Today we released build fixes plus a major enhancment to Tcpreplay.

    Enhancement: - Quick TX bypass module for Linux Kernel - allows Tcpreplay to bypass the kernel network stack and write directly to the network driver. Doing so allows up to wire-rate transmissions (tested up to 10Gbps).

    Fixes include: - Do not build Quick TX modules on OS X (#164) - Add a flag to customize netmap delay (#160) - Fix some compile wwarnings (#159) - Disabled QuickTX build by default (#157) - Less verbose build (#154) - Add a loop delay option (#125) - CentOS 6.5 kernel panic on Quick TX init (#146) - Fix libpcap not found on CentOS 7 (#145) - Segfault in tcpliveplay on x86_64 (#132) - Sometimes unable to interrupt with Ctrl-C (#129)

    For more information visit http://tcpreplay.appneta.com

    Download the release by clicking the green links below.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.1.0.tar.gz(2.02 MB)
    tcpreplay-4.1.0.tar.gz.asc(490 bytes)
  • v4.1.0beta2(Oct 17, 2014)

  • v4.1.0beta1(Oct 14, 2014)

  • v4.0.5(Sep 5, 2014)

    Today we released build fixes to Tcpreplay.

    Fixes include: - Fix build failure with latest netmap 11 (#123) - Fix unable to use Zero Copy interfaces on PF_RING (#118) - Corrected build for latest version of PF_RING (#81) - Proper error message when vale is unconfigured (#113) - Avoid a netmap module debug message (#110) - Add missing header to distribution (#108) - Make --netmap version agnostic (#106) - Fix netmap hang in FreeBSD 11 (#103) - Fix netmap hang if network cables unplugged (#96) - Support for Vale Switch (#91) - Prevent file retransmissions when selecting multiple files (#86) - Fix max replay rate for all loops except first when omitting --mbps (#85) - Add missing sanity check in libopt (#84) - Seg fault on some IPv6 files when using -C option with tcprewrite (#83) - Support for PF_RING DNA version of libpcap (#81) - Fix segfault when using '-F pad' (#80) - Disallow netmap on multiple interfaces (#79)

    For more information visit http://tcpreplay.appneta.com

    Download the release by clicking the green links below.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.0.5.tar.gz(1.96 MB)
    tcpreplay-4.0.5.tar.gz.asc(490 bytes)
  • v4.0.5beta3(Aug 9, 2014)

  • v4.0.5beta2(Jul 30, 2014)

  • v4.0.5beta1(Jul 28, 2014)

    This is Tcpreplay suite version 4.0.5beta1. The full release will be available soon.

    Fixes include: - Make --netmap version agnostic (#106) - Fix netmap hang in FreeBSD 11 (#103) - Fix netmap hang if network cables unplugged (#96) - Support for Vale Switch (#91) - Prevent file retransmissions when selecting multiple files (#86) - Fix max replay rate for all loops except first when omitting --mbps (#85) - Add missing sanity check in libopt (#84) - Seg fault on some IPv6 files when using -C option with tcprewrite (#83) - Support for PF_RING DNA version of libpcap (#82) - Fix segfault when using '-F pad' (#80) - Disallow netmap on multiple interfaces (#79) - Fix build for FreeBSD version 8.4 (#78)

    More information available on our wiki announcement Download the release by clicking the green links below.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.0.5-beta1.tar.gz(1.96 MB)
    tcpreplay-4.0.5-beta1.tar.gz.asc(490 bytes)
  • v4.0.4(Mar 23, 2014)

    Today we released build fixes to Tcpreplay.

    This is Tcpreplay suite version 4.0.4.

    Fixes include: - Number of packets inaccurate when using --netmap method (#76) - Unexpected packet counts with --loop and --cachefile enabled (#75) - Improved error messages when interface is a file (#74) - Missing interfaces with --listnics option (#67) - Compile issue with netmap v10 and debugging (#66) - Bad values with --stats and -t options (#65)

    Visit our downloads page to get it.

    Source code(tar.gz)
    Source code(zip)
    tcpreplay-4.0.4.tar.gz(1.97 MB)
  • v4.0.3(Feb 4, 2014)

    Today we released build fixes to Tcpreplay. Version 4.0.2 would sometimes not build in some configurations.

    This is Tcpreplay suite version 4.0.3.

    Fixes include:

    - Fix build errors when ENABLE_VERBOSE is not set (#60)
    - Build error on host without tcpdump (#59)
    

    Visit our downloads page to get it.

    Source code(tar.gz)
    Source code(zip)
Apache MINA is a network application framework which helps users

Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily

The Apache Software Foundation 846 Dec 20, 2022
Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.

PROJECT STATUS: RETIRED The Simian Army project is no longer actively maintained. Some of the Simian Army functionality has been moved to other Netfli

Netflix, Inc. 7.9k Jan 6, 2023
GrimAC is an open source anticheat designed for 1.17 and supporting 1.7-1.17.

GrimAC Currently too unstable to use in production. Work is being done on a partial rewrite to simplify the code, run block place/break/interact logic

DefineOutside 511 Jan 2, 2023
Apache Dubbo is a high-performance, java based, open source RPC framework.

Apache Dubbo Project Apache Dubbo is a high-performance, Java-based open-source RPC framework. Please visit official site for quick start and document

The Apache Software Foundation 38.2k Dec 31, 2022
This is an open source android based Music Player application developed in Android Studio

Pulse Music An offline music player android app, with modern UI and powerful features If you liked this repo, fork it and leave a STAR. Your support m

Sharath 7 Apr 11, 2022
Short code snippets written by our open source community!

Code Examples This repository contains different code examples in different programming languages. Website https://codes.snowflakedev.org How do I con

SnowflakeDev Community ❄️ 64 Nov 13, 2022
Java library for representing, parsing and encoding URNs as in RFC2141 and RFC8141

urnlib Java library for representing, parsing and encoding URNs as specified in RFC 2141 and RFC 8141. The initial URN RFC 2141 of May 1997 was supers

SLUB 24 May 10, 2022
Android application allowing to sniff and inject Zigbee, Mosart and Enhanced ShockBurst packets on a Samsung Galaxy S20

RadioSploit 1.0 This Android application allows to sniff and inject Zigbee, Mosart and Enhanced ShockBurst packets from a Samsung Galaxy S20 smartphon

Romain Cayre 52 Nov 1, 2022
Telegram API Client and Telegram BOT API Library and Framework in Pure java.

Javagram Telegram API Client and Telegram Bot API library and framework in pure Java. Hello Telegram You can use Javagram for both Telegram API Client

Java For Everything 3 Oct 17, 2021
Fibers and actors for web development

COMSAT Scalable, Concurrent Web Apps Getting started Add the following Maven/Gradle dependencies: Feature Artifact Servlet integration for defining fi

Parallel Universe 600 Dec 23, 2022
An annotation-based Java library for creating Thrift serializable types and services.

Drift Drift is an easy-to-use, annotation-based Java library for creating Thrift clients and serializable types. The client library is similar to JAX-

null 225 Dec 24, 2022
ssh, scp and sftp for java

sshj - SSHv2 library for Java To get started, have a look at one of the examples. Hopefully you will find the API pleasant to work with :) Getting SSH

Jeroen van Erp 2.2k Jan 8, 2023
Efficient reliable UDP unicast, UDP multicast, and IPC message transport

Aeron Efficient reliable UDP unicast, UDP multicast, and IPC message transport. Java and C++ clients are available in this repository, and a .NET clie

Real Logic 6.3k Dec 27, 2022
LINE 4.1k Dec 31, 2022
Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

OkHttp See the project website for documentation and APIs. HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP

Square 43.4k Jan 9, 2023
A Java library for capturing, crafting, and sending packets.

Japanese Logos Pcap4J Pcap4J is a Java library for capturing, crafting and sending packets. Pcap4J wraps a native packet capture library (libpcap, Win

Kaito Yamada 1k Dec 30, 2022
Full-featured Socket.IO Client Library for Java, which is compatible with Socket.IO v1.0 and later.

Socket.IO-client Java This is the Socket.IO Client Library for Java, which is simply ported from the JavaScript client. See also: Android chat demo en

Socket.IO 5k Jan 4, 2023
Asynchronous Http and WebSocket Client library for Java

Async Http Client Follow @AsyncHttpClient on Twitter. The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and a

AsyncHttpClient 6k Dec 31, 2022