Protocol-Analyzer : Fuzz testing framework for network protocols.

Protocol-Analyzer : Fuzz testing framework for network protocols.

Protocol Analyzer is an Fuzz testing framework for network protocols.
The main purposes of the framework:
– Verification of the operation of proprietary network protocols in accordance with the declared description;
– Detection of undeclared capabilities and undefined behavior in the implementation of proprietary network protocols;
– Audit of security and search for changes from the last scan period.

Requirements:
+ OpenSSL >= 1.0.2h (libssl-dev);
+ CMake >= 3.8.0 (for C++17 standard support);
+ Compiler, supported full C++17 standard (‘clang-5.0.0’, ‘gcc-7.0’ or higher).

Protocol Analyzer v0.0.8

Current goals
1. Development the basis of network interaction for the needs of the framework;
++ Epoll Socket State Pool interface for all Sockets under the observation;
++ Managed Socket Pool for unique interface to take and control sockets;
++ UDP Socket interface;
++ RAW Socket interface;
++ Netlink interface for interact with Linux Kernel;
++ Create two error interfaces: POSIX-oriented, C++ exceptions.
2. Development an unique interface for describing the Network Protocol;
++ Implement libJSON as submodule of framework for parsing input configs.
3. Development an unique interface for create Tasks and manage them;
4. Development an unique interface for store Global information and Settings in runtime;
5. Development main data class for working with binary data and build all infrastructure around it;
6. Create a low-level and high-level API for analyzer library.

Install OpenSSL:

Install GCC 7.1 on Ubuntu 14.04 & 16.04:

Use and Download:

Source: https://github.com/Vitaliy-Grigoriev