radamsa(1)

πŸ’… radamsa(1) β€” the general purpose fuzzer bestie

okay so you found the radamsa manual, and honestly? you're about to have a great time. this is the iconic general purpose fuzzer, and i'm gonna walk you through it like we're texting at 2am. buckle up, bestie. πŸ¦‹


✨ SYNOPSIS ✨

radamsa [options] [sample-path] ...

🌸 DESCRIPTION 🌸

okay so first things first: Radamsa is a general purpose data fuzzer. and what does that even mean? it means it reads data from the sample files you give it β€” or from standard input if you don't give it any samples at all β€” and then it outputs modified data. literally mutated. unhinged little data gremlin behavior. 😭

and why would you want that? because it's usually used to generate malformed data for testing programs. you feed the weird broken stuff to a program and see if it survives. lowkey it's giving chaos agent, but for science. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

this program follows the usual GNU command line syntax, with long options starting with two dashes (-). a summary of options is included below. periodt. ✨

  • -h, --help β€” shows a shorter summary of options. yep, the quick version. 🫢
  • -V, --version β€” shows the program version. iconic of it, honestly. πŸ‘‘
  • -o, --output pattern β€” specifies where to write the modified data. by default the data is written to standard output. and the pattern can be a path, where %n gets filled in to be the test case number if it's present in the pattern. you can also use :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. so many destinations, so little time. πŸ”₯
  • -n, --count n β€” how many outputs to generate based on the sample(s). giving -1 or inf causes data to be generated forever. like, genuinely infinite. don't say i didn't warn you. 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. it's giving reproducible, it's giving consistent. if no seed is given explicitly, radamsa reads a random one from /dev/urandom or takes the current time in milliseconds. slay. ⭐
  • -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. receipts! 🧾
  • -l, --list β€” shows all available mutations, patterns and generators along with their descriptions. a whole menu of chaos. πŸ“
  • -r, --recursive β€” includes samples from directories recursively. go deep. go nesting. πŸŒ€
  • -v, --verbose β€” prints what is being done. so you're not just sitting there wondering. πŸ’¬
  • -m, --mutations string β€” request the initial mutation probabilities manually. this is generally not recommended and the options will change in future versions. so like, proceed with caution bestie. πŸ™ˆ
  • -p, --patterns string β€” request the mutation patterns manually. again, generally not recommended and the options will change in future versions. same vibe. πŸ™ˆ
  • -g, --generators string β€” request the data stream generator probabilities manually. you guessed it: generally not recommended and the options will change in future versions. okay so all three of these are the "don't touch unless you know what you're doing" section. πŸ’€

🌈 EXAMPLES 🌈

these are the vibes, literally copy-paste energy:

$ 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

🫢 SEE ALSO 🫢

zzuf(1) β€” another fuzzer bestie, go say hi.


πŸ’€ BUGS πŸ’€

bugs in radamsa can be filed to https://gitlab.com/akihe/radamsa or sent to aki.helin@iki.fi. and bugs outside of radamsa should be filed to their respective bug trackers. not radamsa's problem, no cap. πŸ›


πŸ‘‘ AUTHOR πŸ‘‘

Radamsa and this manual page were written by Aki Helin <aki.helin@iki.fi> at OUSPG. an absolute icon. πŸ’œ


okay so that's literally the whole page, bestie. go forth and fuzz responsibly. 🌸

✨ signed, sealed, delivered: radamsa(1) β€” General Commands Manual β€” March 28, 2012 ✨ now go be the main character of your own fuzzing story. πŸ’…

πŸ“¦ where this page comes from