Pulsar is a network fuzzer with automatic protocol learning and simulation capabilites. The tool allows to model a protocol through machine learning techniques, such as clustering and hidden Markov models. These models can be used to simulate communication between Pulsar and a real client or server thanks to semantically correct messages which, in combination with a series of fuzzing primitives, allow to test the implementation of an unknown protocol for errors in deeper states of its protocol state machine.
Changelog v0.1-dev 9/5/2016:
+ Introduce check in logging of non-fuzzed values to avoid err with dst_fields of length 0
+ pulsar.py; Add Simulator class
requirements:
+ prisma (https://github.com/tammok/PRISMA)
+ derrick (https://github.com/rieck/derrick)
+ sally (https://github.com/rieck/sally)
+ cuckoo (https://github.com/cuckoobox/cuckoo)
+ R
+ mergecap
+ pygraphviz
+ python-Levenshtein
Usage:
git clone https://github.com/hgascon/pulsar && cd pulsar ./pulsar.py Update: git pull origin master Initiate a fuzzing session against a target given the model of its communication channel: pulsar.py -z -m model_file
Source: https://github.com/hgascon