{ "info": { "author": "Georges Bossert, Fr\u00e9d\u00e9ric Guih\u00e9ry", "author_email": "contact@netzob.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: X11 Applications :: GTK", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Natural Language :: French", "Operating System :: OS Independent", "Programming Language :: C", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Security", "Topic :: System :: Networking" ], "description": "===========================================================\nNetzob : Protocol Reverse Engineering, Modeling and Fuzzing\n===========================================================\n\n.. image:: https://travis-ci.org/netzob/netzob.svg?branch=next\n :target: https://travis-ci.org/netzob/netzob\n :alt: Continuous integration\n\n.. image:: https://coveralls.io/repos/github/netzob/netzob/badge.svg?branch=next\n :target: https://coveralls.io/github/netzob/netzob?branch=next\n :alt: Code coverage\n\n.. image:: https://landscape.io/github/netzob/netzob/next/landscape.svg?style=flat\n :target: https://landscape.io/github/netzob/netzob/next\n :alt: Code health\n\n.. image:: https://readthedocs.org/projects/gef/badge/?version=latest\n :target: https://netzob.readthedocs.org/en/latest/\n :alt: Doc\n\n.. image:: https://img.shields.io/badge/Python-3-brightgreen.svg\n :target: https://github.com/netzob/netzob\n :alt: Python3\n\n.. image:: https://img.shields.io/badge/freenode-%23netzob-yellowgreen.svg\n :target: https://webchat.freenode.net/?channels=#netzob\n :alt: IRC\n\nAbout Netzob\n============\n\nFunctional Description\n-----------------------\n\nNetzob is an opensource tool for reverse engineering, traffic generation\nand fuzzing of communication protocols. This tool allows to infer the message format (vocabulary)\nand the state machine (grammar) of a protocol through passive and active processes.\nIts objective is to bring state of art academic researches to the operational field,\nby leveraging bio-informatic and grammatical inferring algorithms in a semi-automatic manner.\n\nNetzob is suitable for reversing network protocols, structured files and system and\nprocess flows (IPC and communication with drivers and devices).\nOnce inferred, a protocol model can be used in our traffic generation engine, to allow simulation of realistic\nand controllable communication endpoints and flows.\n\nNetzob handles different types of protocols: text protocols (like HTTP and IRC), delimiter-based protocols,\nfixed fields protocols (like IP and TCP) and variable-length fields protocols (like TLV-based protocols).\n\nTechnical Description\n---------------------\n\nThis version of Netzob must be used as a Python 3 library. It can either be imported in your scripts\nor in your favorite interactive shell (ipython?).\n\nOnce installed, we recommend the following statement to import Netzob::\n\n from netzob.all import *\n\nNetzob's source code is mostly made of Python (90%) with some specific extensions in C (6%). \n\nMore Information\n----------------\n\n:Website: `http://www.netzob.org `_\n:Email: `contact@netzob.org `_\n:Mailing list: Two lists are available, use the `SYMPA web interface `_ to register.\n:IRC: You can hang-out with us on Freenode's IRC channel #netzob @ freenode.org.\n:Wiki: Discuss strategy on `Netzob's wiki `_\n:Twitter: Follow Netzob's official accounts (@Netzob)\n\nGet Started with Netzob\n=======================\n\nInstall it\n----------\n\nFirst thing to do is to check the version of your python3 interpretor.\nNetzob requires python 3::\n\n $ python3 --version\n Python 3.4.2\n\nAs a 'classic' python project, Netzob is provided with its\n``setup.py``. This file defines what and how to install the project on a\npython hosting OS.\n\nThis file depends on ``setuptools`` which like few other modules cannot be\nautomatically installed. The reason why, you have to manually install the\nfollowing bunch of prerequisites before initiating Netzob's install process.\n\n* python3\n* python3-dev\n* python3-setuptools\n* build-essential \n \nWe also highly recommend to install the following additional dependencies:\n\n* python-sphinx (for the documentation)\n\nOnce the required dependencies are installed, you can build and install Netzob::\n\n # python3 setup.py install\n\nOr if you prefer a more developer-friendly install::\n\n $ python3 setup.py develop --user\n\n \nDocker container\n^^^^^^^^^^^^^^^^\n\nA docker build is offered from the docker registry repository. You can download \nit from command line with the following command:: \n\n $ docker pull netzob/netzob\n\n\nStart it\n--------\n\nOnce installed, running Netzob is as simple as executing the provided script::\n\n $ ./netzob\n\nThis script is in Python's path if you've installed Netzob, otherwise\n(in developer mode), it's located in the top distribution directory.\n\nDocker container\n^^^^^^^^^^^^^^^^\n\nIf you used the docker container, the following command will allow you to start \nnetzob with your current directory attached to ``/data`` into the container::\n\n $ docker run --rm -it -v $(pwd):/data netzob/netzob\n\nMiscellaneous\n-------------\n\nConfiguration of Log Level\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nEnvironment variable ```NETZOB_LOG_VERBOSITY``` can be use to set the logging level. The numeric values of logging levels are given in the Python Documentation of the `Logging Module `_. For example, the following command starts netzob in *DEBUG* mode::\n\n $ NETZOB_LOG_LEVEL=10 ./netzob\n\nConfiguration requirements for Network and PCAP input\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nCapturing data from network interfaces often requires admin privileges. \nBefore we provide a cleaner and secure way (see issue 425 on the bugtracker for updated information - https://dev.netzob.org/issues/425), a possible *HACK* is to provide additional capabilities to the python binary::\n\n$ sudo setcap cap_net_raw=ep /usr/bin/python3.XX\n\nConfiguration requirements for IPC input on Ubuntu\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nThe following command must be triggered before collecting IPC exchanges with Netzob on Ubuntu (see https://www.kernel.org/doc/Documentation/security/Yama.txt)::\n\n$ sudo bash -c \"echo 0 > /proc/sys/kernel/yama/ptrace_scope\"\n\nDocumentation\n=============\n\nThe folder ``doc/documentation`` contains all the documentation of Netzob.\n\nThe user manual can be generated based on RST sources located in folder\n``doc/documentation/source`` with the following commands::\n\n $ sphinx-apidoc -T -e -f -o doc/documentation/source/developer_guide/API/ src/netzob/\n $ find doc/documentation/source/developer_guide/API/ -type f -exec sed -i ':a;N;$!ba;s/Subpackages\\n-----------\\n\\n.. toctree::\\n/Subpackages\\n-----------\\n\\n.. toctree::\\n :maxdepth: 1\\n /g' {} +\n $ sphinx-build -b html doc/documentation/source/ doc/documentation/build/\n\nAn up-to-date version of the documentation is hosted on the `Read The Docs platform `_.\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 `_.\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\nThese operations are detailed on Netzob's wiki through the following\npages:\n\n* `Accessing and using Git Repositories for Netzob development `_\n* `First steps for a new developer `_\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\nNEWS\n====\n\nv1.0.2 -- 2016-04-30\n--------------------\n\n:Version name: StompingFrilledShark\n\n* major improvement\n * global improvement of code architecture and organization\n * enable custom operations on fields values\n * a list of valid bytes can be specified to specify a subset of values a domain accepts\n * add SendReceived() method in all channels to simplify trafic generation\n * add traffic rate and duration constraints in channels and abstraction layer\n * new channel 'RawEthernetClient' to send raw Ethernet frames\n * new channel 'IPClient' to send raw IP frames\n * the Protocol class can load ZDL format and automata files\n * introduces Pseudo Field: a field used in the computation of another field but dont produce real content\n\n* minor improvement\n * pcap importer can merge consecutives messages with same source and destination to mimic a flow\n * improve unit-tests on relationship finder\n * an AbstractMessage stores the type of message\n * remove typechecking in channel write() methods to allow better performances\n * presets can be used when using AbstractionLayer\n * increase default maximum data size to 65535 * 8 (i.e. 65535 bytes)\n\n* major bug fix\n * fix symbol display when messages includes exotic encoded bytes\n * fix InternetChecksum computation\n * fix size field computation to allow payload of size > 23535 bytes\n * fix size field computation that depends on Repeat variable\n * fix InternetChecksum CRC computation to support bitarrays structures\n\n* minor bug fix\n * remove nbUnits from Integer class\n * remove the layer attribute of Fields\n * fix the identification of data-type relationships\n * convert snippets in the documentation to python3\n\n\nv1.0.1 -- 2017-03-05\n--------------------\n\n:Version name: StompingFrilledShark\n\n* minor improvement\n * Improves code style (mostly PEP8 constraints)\n * File Importer\n * On-demand performance tests for parallel alignment (de)activation\n * Ensures determinism of ClusterBySize clustering method\n * Base64 and Zlib Encoding functions\n\n* minor bug fix\n * Updates Copyright dates in source headers\n * Removes obsolete Rep module\n\nv1.0 -- 2017-02-03\n------------------\n\n:Version name: StompingFrilledShark\n\n* major improvement\n * \"FlowParser\" to parse a succession of message made of different symbols\n * large test campaign created to ensure netzob's quality\n * migration to python3\n * add SSL client and server channels\n * improve package hierarchy\n\n* minor improvement\n * enable travis supervision\n * measure test coverage\n * Entropy measurement methods\n * support for timestamps detection\n * improve size field detection algorithm\n * enable RAWIP channels\n * network pcap importer supports ICMP message\n\n* major bug fix\n * various bug fixes\n * multiple bug fixes in C alignment methods\n\n* minor bug fix\n * fix Symbol comparison methods\n * fix logging verbosity\n * remove useless codes and resources\n\nv0.4.1 -- 2013-02-02\n--------------------\n\n:Version name: WaddlingPeccary\n\n* Export plugins\n * Automatic generation of Wireshark dissectors\n * Automatic generation of Peach fuzzers\n* Workspaces and projects\n * Workspace manager\n * Project manager\n * Trace manager\n* Pretty print of XML files\n* Simplify the default Variable\n* Provide extra compile arguments to the build process\n\nv0.4 -- 2012-11-15\n------------------\n\n:Version name: JumpingRhino\n\n* User interface\n * New user-friendly graphical interface\n * Port Netzob to GTK+3\n * Allow specification of logging level in the UI\n* New plugin architecture\n* Internationalization of Netzob\n* Vocabulary inference\n * Support of layers\n * Support customized transformation functions\n * Provide the edition of a variable\n * Support IPv4, MAC and random binary variables\n * Support filters for displayed messages\n * Allow export of a selection of fields as a new symbol\n* Import\n * Importer for OSpy projects\n * Allow user to specify the import layer (2,3 or 4) while importing network messages\n * Allow to keep delimiter while file importing. Indicate the position of the delimiter\n* Automatic Bug Reporter\n\n\nv0.3.3 -- 2012-06-06\n--------------------\n\n:Version name: FlyingRazorback\n\n* Graphical interface\n * Visualization and encoding filters\n * Mathematical filters (Base64, GZIP, BZ2)\n * Dedicated Search View\n * Preview of data rendering in contextual menu\n * Support format visualization at the symbol level\n* Partitioning\n * Alignment and sequencing by field\n * Execute alignment on specified symbols\n * Split field by the right\n * Allow the partitioning of messages with specified boundaries\n * Allow partitioning at the project and symbol level\n * Similarity score based on number of common dynamic elements\n * Optimization of Needleman : don't repeat the same computation twice\n * Implement native UPGMA algorithm\n* Grammar inference\n * Infer the grammar of a network client\n* Project/trace management\n * Export / Import projects\n * Importer for XML formated traces\n\nv0.3.2 -- 2012-02-23\n--------------------\n\n* Upgrade Vocabulary Inference\n * Add Octal visualization\n * Feature #57: Resize columns\n * Feature #59: Allows to copy message/field to clipboard\n * Feature #60: Support simple alignment\n * Feature #62: Allow the deletion of multiple messages at a time\n * Feature #20: Show the current status of an alignment\n * Manual modification of the Regex of a field\t\t\n * Upgrade Grammar Inference\n * Feature #55: Dedicated GUI for the automatic inferring process\n * Upgrade Simulator\n * Feature #87: Specify source port for network simulator\n* Upgrade Import/Export and Traces Management\n * Feature #22: Activate the management of traces\n * Feature #61: Traces must be compressed when stored in the trace manager\n * Feature #92: Handle cooked socket (SLL) packet format\n * Feature #83: Support of human readable format export\n * Support Unicode for filenames\n* Extra\n * Workspace can be specified through a command line argument\n * Feature #73: Add manpage for Netzob\n * Feature #74: Add \".desktop\" file in the official version\n * Apply pep8 quality repository on source code\n \t\nv0.3.1 -- 2012-01-12\n--------------------\n\n* Small fixes\n\nv0.3 -- 2012-01-12\n------------------\n\n* Upgraded GUI and user experience\n * Add a menu\n * Simplify the Vocabulary inference panel\n * Add Workspaces and Projects definitions\n* Upgrade Vocabulary Inference\n * Add alignment based on an arbitrary delimitor\n * Identification of the definition domain of a field\n * Add support for environmental dependencies\n * Add new visualization of data encoding\n * Format: hex, string and binary\n * Unit size: bit, 8-bits, 16-bits, 32-bits and 64-bits\n * Sign: signed and unsigned\n * Endianess: big and little endian\n * Add concept of variable :\n * Include Binary Value\n * Include Word Value\n * Include Aggregate Value\n * Include Alternate Value\n* Add grammar inference module\n * Add the definition of the MMSTD model\n * Implementation of the Angluin L* algorithm\n * Implementation of the W-Method Algorithm\n * Add an alpha version of the automatic inferring process\n* Add simulation module \n * Supports Network Server and Client simulations\n* Add import modules : files and library calls\n * Add multiple files import\n* Extra\n * SVN to GIT migration\n * Dedicated website (http://www.netzob.org)\n\nv0.2 -- 2011-09-01\n------------------\n\n* Add import modules : IPC, PCAP and Live network flows\n* Add export module : raw XML format\n* Improvement of Needleman and Wunsh performance with OpenMP\n\nv0.1 -- 2011-08-16\n------------------\n\n* Initial release\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/netzob/netzob", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.netzob.org", "keywords": "Protocol", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "Netzob", "package_url": "https://pypi.org/project/Netzob/", "platform": "Linux_x86", "project_url": "https://pypi.org/project/Netzob/", "project_urls": { "Download": "https://github.com/netzob/netzob", "Homepage": "http://www.netzob.org" }, "release_url": "https://pypi.org/project/Netzob/1.0.2/", "requires_dist": null, "requires_python": "", "summary": "Protocol Reverse Engineering, Modeling and Fuzzing", "version": "1.0.2" }, "last_serial": 2841040, "releases": { "0.4-git": [], "0.4.0": [ { "comment_text": "built for Linux-3.6-trunk-amd64-x86_64-with-glibc2.4", "digests": { "md5": "cbf252f64c04ba08fab152c998e1f945", "sha256": "c4911e2c4b702fd33f65e2c494941944a0f246947357230e57976302e868d727" }, "downloads": -1, "filename": "Netzob-0.4.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "cbf252f64c04ba08fab152c998e1f945", "packagetype": "bdist_dumb", "python_version": "2.7", "requires_python": null, "size": 1173229, "upload_time": "2012-12-05T10:28:03", "url": "https://files.pythonhosted.org/packages/bb/1a/97a182a1c0e0a3b172bd6b24ba6ac6a1575f31bdd975c65213853b35ef40/Netzob-0.4.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "613bb99edb07eaf3aa7043e19c3ccb3b", "sha256": "4dd418937c9ef7cc96eb9d1f067bf856080346a5e42a501e82b599f1fc761096" }, "downloads": -1, "filename": "Netzob-0.4.0.tar.gz", "has_sig": false, "md5_digest": "613bb99edb07eaf3aa7043e19c3ccb3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 835679, "upload_time": "2012-12-05T10:27:41", "url": "https://files.pythonhosted.org/packages/15/fa/16bb00a89751a98a3d5fbd010cba27e194d75638a2a210c85ee0bde78e2a/Netzob-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "built for Linux-3.7-trunk-amd64-x86_64-with-glibc2.7", "digests": { "md5": "5827266086bcfdf411892300b26ff3a8", "sha256": "3280187f50a379f288694e6c582e62a18f4bebbc56e0ce9267a7e906df5b2933" }, "downloads": -1, "filename": "Netzob-0.4.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "5827266086bcfdf411892300b26ff3a8", "packagetype": "bdist_dumb", "python_version": "2.7", "requires_python": null, "size": 1110584, "upload_time": "2013-02-02T20:28:29", "url": "https://files.pythonhosted.org/packages/db/a6/2fda0a32632a20221acd1c5c80d35271633974152eec65158e3d52d42b2d/Netzob-0.4.1.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "8f20d157b9c0f04acf9ba888a36b9f6f", "sha256": "b635cb4468ec089df58542735912a874e080b8db835ca7f0894d7f61205e019f" }, "downloads": -1, "filename": "Netzob-0.4.1.tar.gz", "has_sig": false, "md5_digest": "8f20d157b9c0f04acf9ba888a36b9f6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1102577, "upload_time": "2013-02-02T20:27:44", "url": "https://files.pythonhosted.org/packages/c6/6b/450d54d5d48652a6c2f7db5a2e19b0e9f9e8981df1b88731a9af395a26c5/Netzob-0.4.1.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f9d75593b03da8da4931138f9521a4a2", "sha256": "697019a095f4b8d73c70c0fd0929e4df364ee031bde4df4b4080c035985d40b2" }, "downloads": -1, "filename": "Netzob-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f9d75593b03da8da4931138f9521a4a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 349289, "upload_time": "2017-02-05T09:30:22", "url": "https://files.pythonhosted.org/packages/4e/27/66e10f4caf98c59609fdcc2d3ecd76b8cf00100a963b21aad05dd9c5d239/Netzob-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "867ab33bd545f3e6cf50bd9bc8c838c6", "sha256": "ac79ba44d787d10cca6a439eea6b8cb01edaba908a8970b61960550bbcd9d65e" }, "downloads": -1, "filename": "Netzob-1.0.2.tar.gz", "has_sig": false, "md5_digest": "867ab33bd545f3e6cf50bd9bc8c838c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262456, "upload_time": "2017-04-30T22:43:29", "url": "https://files.pythonhosted.org/packages/92/72/c28dd2202efc47e5cf3d883f91638f0b9450a58b5b1d95c5a92c50c514e1/Netzob-1.0.2.tar.gz" } ], "1.1.dev0": [ { "comment_text": "", "digests": { "md5": "af817d0644c0f685282250a2a882ab87", "sha256": "624c4dea978ed47a6152aa3161739d6452cca75295494cacc69b51e0b969d671" }, "downloads": -1, "filename": "Netzob-1.1.dev0.tar.gz", "has_sig": false, "md5_digest": "af817d0644c0f685282250a2a882ab87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 349374, "upload_time": "2017-02-04T17:16:25", "url": "https://files.pythonhosted.org/packages/c8/f3/8d66d63ea167330b98ae5368b3e9ccc1e2b2e404140132c2f939696afb4e/Netzob-1.1.dev0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "867ab33bd545f3e6cf50bd9bc8c838c6", "sha256": "ac79ba44d787d10cca6a439eea6b8cb01edaba908a8970b61960550bbcd9d65e" }, "downloads": -1, "filename": "Netzob-1.0.2.tar.gz", "has_sig": false, "md5_digest": "867ab33bd545f3e6cf50bd9bc8c838c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262456, "upload_time": "2017-04-30T22:43:29", "url": "https://files.pythonhosted.org/packages/92/72/c28dd2202efc47e5cf3d883f91638f0b9450a58b5b1d95c5a92c50c514e1/Netzob-1.0.2.tar.gz" } ] }