udpreplay is a lightweight alternative to tcpreplay for replaying UDP unicast and multicast streams from a pcap file.
usage: udpreplay [-i iface] [-l] [-s speed] [-c millisec] [-r repeat] [-t ttl] pcap
-i iface interface to send packets through
-l enable loopback
-c millisec constant milliseconds between packets
-r repeat number of times to loop data
-s speed replay speed relative to pcap timestamps
-t ttl packet ttl
-b enable broadcast (SO_BROADCAST)
$ udpreplay -i eth0 example.pcap
IPv4 fragments and invalid packet lengths stop replay with an error. Reassemble fragmented captures first, for example with IPDefragUtil:
IPDefragUtil input.pcap -o reassembled.pcap -a
udpreplay reassembled.pcapRequires Linux or macOS, CMake 3.20+, a C++11 compiler, and libpcap headers
and libraries. On macOS, install the Xcode Command Line Tools and run
brew install cmake libpcap.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
cmake --install build --config Release --prefix "$HOME/.local"The executable is installed in $HOME/.local/bin. For libpcap in a custom
location, add -DCMAKE_PREFIX_PATH=/path/to/libpcap when configuring.
Testing requires Python 3 and is enabled by default. Run tests with
ctest --test-dir build --output-on-failure, or disable them with
-DBUILD_TESTING=OFF when configuring.
This project was created by Erik Rigtorp <erik@rigtorp.se>.