#ifndef FUZZING_H #define FUZZING_H #include #include #include "defines.h" #include "tcpedit/tcpedit_types.h" enum { FUZZING_DROP_PACKET, FUZZING_REDUCE_SIZE, FUZZING_CHANGE_START_ZERO, FUZZING_CHANGE_START_RANDOM, FUZZING_CHANGE_START_FF, FUZZING_CHANGE_MID_ZERO, FUZZING_CHANGE_MID_RANDOM, /* the default case */ FUZZING_CHANGE_MID_FF, FUZZING_CHANGE_END_ZERO, FUZZING_CHANGE_END_RANDOM, FUZZING_CHANGE_END_FF, FUZZING_TOTAL_ACTION_NUMBER /* always last */ }; /** * init fuzz seed and allocate buffer. */ void fuzzing_init(uint32_t _fuzz_seed, uint32_t _fuzz_factor); /* * fuzz packet data. * only one out of 8 packets are fuzzed. * fuzzed packets get one random modification from the enum above. * Returns whether the packet has been modified (1, or 0) */ int fuzzing(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, u_char **pktdata); #endif /* FUZZING_H */