Fuzzers (CS2621 Emulator v0.1.0) View Source

Fuzzers is a set of network fuzzing tools.

Link to this section Summary

Functions

Build a chain of network fuzzing steps.

Fuzzer for delaying messages. Delays are drawn from an exponential distribution with the mean given here.

Fuzzer for dropping packets. Drops are uniformly random with supplied probability.

Add a fuzzer that drops messages, and records them in the supplied logger.

Return a list of message logs from a recording.

Add a fuzzer that logs messages. Use get_logs/1 to retrieve the messages.

Link to this section Functions

Link to this function

build_fuzz_chain(recver, recver_id, sender_id, chain)

View Source

Specs

build_fuzz_chain(pid(), pid() | atom(), pid() | atom(), [
  {atom(), float() | pid() | {float(), pid()}}
]) :: pid()

Build a chain of network fuzzing steps.

Specs

delay(number()) :: {:delay, float()}

Fuzzer for delaying messages. Delays are drawn from an exponential distribution with the mean given here.

Specs

drop(float()) :: {:drop, float()}

Fuzzer for dropping packets. Drops are uniformly random with supplied probability.

Specs

drop_record(
  float(),
  {:linearize, pid()}
) :: {:rec_drop, {float(), pid()}}

Add a fuzzer that drops messages, and records them in the supplied logger.

Specs

get_logs({:linearize, pid()}) :: [{atom() | pid(), atom() | pid(), any()}]

Return a list of message logs from a recording.

Specs

log_messages() :: {:linearize, pid()}

Add a fuzzer that logs messages. Use get_logs/1 to retrieve the messages.