Synthetic Pcap Generator
Haskell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
samples
src
tests
.gitignore
LICENSE
README.md
Setup.hs
rws.cabal

README.md

rws

Rws generates a pcap from a simple packet descriptor language. The pcaps can then be used for testing together with tools such as tcpreplay. It is especially use full to generate invalid packets that no off-the-shelf traffic generator would be able to generate, e.g a corrupt TCP packet that is tunneled inside a Teredo tunnel that is sent over GTP-u. If a field in a protocol isn't specified resonable defaults are used.

RWS supports:

  • Ethernet
  • Fragv6 option
  • GRE
  • GTP-u
  • Hexpayload
  • HopByHop option
  • Icmp
  • IcmpV6
  • IPv4
  • IPv6
  • L2TP
  • PadN option
  • PPP
  • TCP
  • Teredo
  • UDP

Numerous examples are provided in the samples dir.

Example: Given the file simple.pkt which contains: (eth (ipv4 src=2.2.2.2 dst=10.10.10.10 (udp))) the command: ./dist/build/rws/rws -i simple.pkt -o out.pcap

will generate a pcap file with a single UDP packet from 2.2.2.2 to 10.10.10.10.