Tool

Netzob

Model communication protocols and infer message layouts from traces, with configured active learning for protocol state machines. Python APIs expose message fields, symbols and automata for parsing, traffic generation and fuzzing.

Requirements and limitations

  • The upstream README requires Python 3.8+; the reviewed release metadata lists Linux x86/x64. Source builds need native build tools, Python headers, libpcap/libffi development libraries and the documented Graph::Easy dependency.
  • Latest PyPI release at review: 2.0.0, uploaded 2023-01-08. The reviewed source head identifies itself as 2.0.1.dev0, not a newer stable release. Its build pins Cython 0.29.32 and older dependencies including NumPy 1.24.1; compatibility with newer Python environments was not tested.
  • Provide representative raw/PCAP messages and analyst-selected models or symbols. Active grammar learning requires input/output symbols, a communication channel and target process control. The current inference documentation is explicitly unfinished; older GUI tutorials should not be treated as the current Python-library workflow.
  • GPL-3.0-or-later in the reviewed source notices; documentation uses CC-BY-SA. Inference and generated models require analyst validation and do not establish complete protocol semantics or device/application recovery. No installation, active queries or fuzzing were run.

About this entry

Type
Tool
Category
Protocol analysis tools
Relationship
Foundation tool
Targets
Protocol

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/README.rst
  2. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/setup.py
  3. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/pyproject.toml
  4. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/src/netzob/release.py
  5. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/COPYING.txt
  6. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/src/netzob/Inference/Grammar/ActiveGrammarInferer.py
  7. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/src/netzob/Inference/Grammar/all.py
  8. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/doc/documentation/source/tutorials/discover_features.rst
  9. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/doc/documentation/source/index.rst
  10. https://netzob.github.io/netzob/installation/python.html
  11. https://pypi.org/project/Netzob/2.0.0/
  12. https://github.com/netzob/netzob/blob/088fe769e98e0bfbd3ed99e66b3982446bf8d197/src/netzob/Inference/Grammar/GenericMAT.py