{"id":13540266,"url":"https://github.com/netzob/netzob","last_synced_at":"2025-04-02T07:30:48.955Z","repository":{"id":3610013,"uuid":"4675010","full_name":"netzob/netzob","owner":"netzob","description":"Netzob: Protocol Reverse Engineering, Modeling and Fuzzing","archived":false,"fork":false,"pushed_at":"2024-04-18T05:07:04.000Z","size":27138,"stargazers_count":783,"open_issues_count":38,"forks_count":169,"subscribers_count":46,"default_branch":"master","last_synced_at":"2025-03-05T17:44:41.980Z","etag":null,"topics":["automata","fuzzing","network","protocols","python","reverse-engineering","traffic-generation","zoby"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netzob.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-06-15T12:38:05.000Z","updated_at":"2025-03-04T18:12:53.000Z","dependencies_parsed_at":"2024-06-21T04:20:21.560Z","dependency_job_id":"366d5ac0-6fd3-40b9-9261-b9728cd2c2ad","html_url":"https://github.com/netzob/netzob","commit_stats":{"total_commits":5039,"total_committers":50,"mean_commits":100.78,"dds":0.6546933915459416,"last_synced_commit":"088fe769e98e0bfbd3ed99e66b3982446bf8d197"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netzob%2Fnetzob","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netzob%2Fnetzob/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netzob%2Fnetzob/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netzob%2Fnetzob/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netzob","download_url":"https://codeload.github.com/netzob/netzob/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246774222,"owners_count":20831496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automata","fuzzing","network","protocols","python","reverse-engineering","traffic-generation","zoby"],"created_at":"2024-08-01T09:01:44.191Z","updated_at":"2025-04-02T07:30:43.943Z","avatar_url":"https://github.com/netzob.png","language":"Python","readme":"===========================================================\nNetzob : Protocol Reverse Engineering, Modeling and Fuzzing\n===========================================================\n\n.. image:: https://img.shields.io/badge/Python-3-brightgreen.svg\n    :target: https://github.com/netzob/netzob\n    :alt: Python3\n\nSee complete documentation here: https://netzob.github.io/netzob/\n\nAbout Netzob\n============\n\n**Netzob** is an open source tool for reverse engineering,\nmodelization, traffic generation and fuzzing of communication\nprotocols.\n\nNetzob is suitable for reversing network protocols, structured files\nand system and process flows (IPC and communication with drivers and\ndevices). Netzob handles different types of protocols: text protocols\n(like HTTP and IRC), delimiter-based protocols, fixed fields protocols\n(like IP and TCP) and variable-length fields protocols (like TLV-based\nprotocols).\n\nNetzob can be used to infer the message format and the state machine\nof a protocol through passive and active processes. Its objective is\nto bring state of art academic researches to the operational field, by\nleveraging bio-informatic and grammatical inferring algorithms in a\nsemi-automatic manner.\n\nOnce modeled or inferred, a protocol model can be used in our traffic\ngeneration engine, to allow simulation of realistic and controllable\ncommunication endpoints and flows.\n\nMain features of Netzob\n=======================\n\nThe main features of Netzob are:\n\n**Protocol Modelization**\n   Netzob includes a complete model to represent the message format (aka its vocabulary)\n   and the state machine of a protocol (aka its grammar).\n**Protocol Inference**\n   The vocabulary and grammar inference\n   component provides both passive and\n   active reverse engineering of communication flows through automated\n   and manuals mechanisms.\n**Traffic Generation**\n   Given vocabulary and grammar models previously\n   inferred or modelized, Netzob can understand and generate communication traffic\n   with remote peers. It can thus act as either a client, a server or\n   both.\n**Protocol Fuzzing**\n   Netzob helps security evaluators by simplifying the creation of\n   fuzzers for proprietary or undocumented protocols. Netzob considers the format message and state machine of the\n   protocol to generate optimized and specific test cases. Both mutation and generation are available for fuzzing.\n**Import Communication Traces**\n   Data import is available in two ways: either by\n   leveraging the channel-specific captors (currently network and IPC --\n   Inter-Process Communication), or by using specific importers (such as\n   PCAP files, structured files and OSpy files).\n**Export Protocol Models**\n   This module permits to export an model of\n   a protocol in formats that are understandable by third party software\n   or by a human. Current work focuses on export format compatible with\n   main traffic dissectors (Wireshark and Scapy) and fuzzers (Peach and\n   Sulley).\n\nNetzob must be used as a Python 3 library. It can either be imported in your scripts\nor in your favorite interactive shell (ipython?).\n\nMore Information\n================\n\n:Website: https://github.com/netzob/netzob\n:Twitter: Follow Netzob's official accounts (@Netzob)\n\nNetzob has been initiated by security auditors of AMOSSYS and the\nCIDre research team of CentraleSupélec to address the reverse engineering and\nfuzzing of communication protocols.\n\nDocumentation\n=============\n\nThe documentation is available online at: https://netzob.github.io/netzob/\n\nIf you want to build the documentation, run the following command::\n\n  $ sphinx-build -b html doc/documentation/source/ doc/documentation/build/\n\nGet Started with Netzob\n=======================\n\nInstall it\n----------\n\nInstalling Netzob system dependencies\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nFirst thing to do is to check the version of your python3 interpretor.\nNetzob requires at least Python 3.8::\n\n  $ python3 --version\n  Python 3.8.10\n\nYou have to install the following system dependencies::\n\n  $ apt-get install -y python3 python3-dev python3-setuptools virtualenv build-essential libpcap-dev libgraph-easy-perl libffi-dev\n\nThen, create a virtualenv::\n\n  $ mkdir venv\n  $ virtualenv venv\n  $ source venv/bin/activate\n\nInstalling Netzob from PyPI\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nYou can install Netzob from PyPI (recommended choice)::\n\n  (venv) $ pip3 install netzob\n\nInstalling Netzob from sources\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf you have retrieved Netzob sources, the installation procedure is::\n\n  (venv) $ pip3 install Cython==0.29.32  # Should be manually installed because of setup.py direct dependency\n  (venv) $ pip3 install -e .\n  \nAPI usage\n---------\n\nOnce installed, we recommend to use the Netzob API inside scripts, with the following statement to import Netzob::\n\n  from netzob.all import *\n\nStart Netzob CLI\n----------------\n\nNetzob also provides its own CLI, in order to play interactively with it::\n\n  (venv) $ netzob\n\nContributing\n============\n\nThere are multiple ways to help-us.\n\nDefects and Features  Requests\n------------------------------\n\nHelp-us by reporting bugs and requesting features using the `Bug Tracker \u003chttps://github.com/netzob/netzob/issues\u003e`_.\n\nJoin the Development Team\n-------------------------\n\nTo participate in the development, you need to get the latest version,\nmodify it and submit your changes.\n\nYou're interested in joining, please contact us!\n\nAuthors, Contributors and Sponsors\n==================================\n\nSee the top distribution file ``AUTHORS.txt`` for the detailed and updated list\nof authors, contributors and sponsors.\n\nLicenses\n========\n\nThis software is provided under the GPLv3 License. See the ``COPYING.txt`` file\nin the top distribution directory for the full license text.\n\nThe documentation is under the CC-BY-SA licence.\n\n\nExtra\n=====\n\n.. figure:: https://raw.githubusercontent.com/netzob/netzob/next/netzob/doc/documentation/source/zoby.png\n   :width: 200 px\n   :alt: Zoby, the official mascot of Netzob\n   :align: center\n\n   Zoby, the official mascot of Netzob.\n","funding_links":[],"categories":["Tools","Network Tools","\u003ca id=\"79499aeece9a2a9f64af6f61ee18cbea\"\u003e\u003c/a\u003e浏览嗅探\u0026\u0026流量拦截\u0026\u0026流量分析\u0026\u0026中间人","Python","\u003ca id=\"7bf0f5839fb2827fdc1b93ae6ac7f53d\"\u003e\u003c/a\u003e工具","Network"],"sub_categories":["Network Tools","Protocol Analyzers and Sniffers","\u003ca id=\"99398a5a8aaf99228829dadff48fb6a7\"\u003e\u003c/a\u003e未分类-Network","\u003ca id=\"8dd8c4c8d11c149aa803a221480687d2\"\u003e\u003c/a\u003e协议分析","Protocol Analyzers / Sniffers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetzob%2Fnetzob","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetzob%2Fnetzob","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetzob%2Fnetzob/lists"}