Skip to content
rigtorpPublic

About

Replay UDP packets from a pcap file

Topics

Resources

Stars

289 stars

Watchers

13 watching

Forks

Latest commit

 

History

61 Commits

Folders and files

Repository files navigation

udpreplay

License

udpreplay is a lightweight alternative to tcpreplay for replaying UDP unicast and multicast streams from a pcap file.

Usage

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)

Example

$ 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.pcap

Building & Installing

Requires 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.

About

This project was created by Erik Rigtorp <erik@rigtorp.se>.

About

Replay UDP packets from a pcap file

Topics

Resources

Stars

289 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages