radamsa [options] [sample-path] ...
Radamsa is a general purpose data fuzzer. It reads data from given sample files, or standard input if none are given, and outputs modified data. It is usually used to generate malformed data for testing programs.
This program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below.
- -h, --help
Show a shorter summary of options.
- -V, --version
Show program version.
- -o, --output pattern
Specify where to write the modified data. By default the data is written to standard output. The pattern can be a path, in which %n is filled to be the test case number if present, :n to have the data sent to TCP clients connecting to local port n, or a.b.c.d:n to have radamsa connect to port n of IPv4 address a.b.c.d to send each output.
- -n, --count n
How many outputs to generate based on the sample(s). Giving -1 or inf causes data to be generated forever. The default is 1.
- -s, --seed n
Start from random state n, which is a decimal number. Starting from the same random state with the same command line arguments and samples causes the same outputs to be generated. If no seed is given explicitly radamsa reads a random one from /dev/urandom or takes the current time in milliseconds.
- -M, --meta path
Write metadata about generated data to given path. - can be used to have the metadata written to standard output. The metadata contains the seed followed by one line per testcase.
- -l, --list
Show all available mutations, patterns and generators along with their descriptions.
- -r, --recursive
Include samples from directories recursively.
- -v, --verbose
Print what is being done.
- -m, --mutations string
Request the initial mutation probabilities manually. This is generally not recommended and the options will change in the future versions.
- -p, --patterns string
Request the mutation patterns manually. This is generally not recommended and the options will change in the future versions.
- -g, --generators string
Request the data stream generator probabilities manually. This is generally not recommended and the options will change in the future versions.
$ cat file | radamsa | program -
$ radamsa samples/*.foo | program -
$ radamsa -o test-%n.foo -n 100 samples/*.foo
$ radamsa -o :80 -n inf samples/*.resp
$ radamsa -o 127.0.0.1:80 -n inf samples/*.req
Bugs in radamsa can be filed to https://gitlab.com/akihe/radamsa or sent to firstname.lastname@example.org. Bugs outside of radamsa should be filed to their respective bug trackers.
Radamsa and this manual page were written by Aki Helin <email@example.com> at OUSPG.