pypcapkit


Namepypcapkit JSON
Version 1.3.5.post5 PyPI version JSON
download
home_pageNone
SummaryPyPCAPKit: comprehensive network packet analysis library
upload_time2025-01-11 10:07:45
maintainerJarry Shaw
docs_urlNone
authorNone
requires_python<4,>=3.6
licenseBSD 3-Clause License
keywords network pcap packet
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            PyPCAPKit - Comprehensive Network Packet Analysis Library
=========================================================

   For any technical and/or maintenance information,
   please kindly refer to the |docs|_.

.. |docs| replace:: **Official Documentation**
.. _docs: https://jarryshaw.github.io/PyPCAPKit/

The PyPCAPKit project is an open source Python program focus on network packet
parsing and analysis, which works as a comprehensive `PCAP`_ file extraction,
construction and analysis library.

   The whole project supports **Python 3.6** or later.

-----
About
-----

PyPCAPKit is a comprehensive Python-native network packet analysis library,
with `DictDumper`_ as its formatted output dumper.

Unlike popular PCAP file extractors, such as `Scapy`_, `DPKT`_, `PyShark`_,
and etc, ``pcapkit`` is designed to be much more comprehensive, which means
it is able to provide more detailed information about the packet, as well as
a more *Pythonic* interface for users to interact with.

Module Structure
----------------

In ``pcapkit``, all files can be described as following eight parts.

- Interface (``pcapkit.interface``)

  User interface for the ``pcapkit`` library, which
  standardises and simplifies the usage of this library.

- Foundation (``pcapkit.foundation``)

  Synthesises file I/O and protocol analysis, coordinates
  information exchange in all network layers, as well as
  provides the foundamental functions for ``pcapkit``.

- Protocols (``pcapkit.protocols``)

  Collection of all protocol family, with detailed
  implementation and methods.

- Utilities (``pcapkit.utilities``)

  Auxiliary functions and tools for ``pcapkit``.

- CoreKit (``pcapkit.corekit``)

  Core utilities for ``pcapkit`` implementation, mainly
  for internal data structure and processing.

- ToolKit (``pcapkit.toolkit``)

  Auxiliary tools for ``pcapkit`` to support the multiple
  extraction engines with a unified interface.

- DumpKit (``pcapkit.dumpkit``)

  File output formatters for ``pcapkit``.

- Constants (``pcapkit.const``)

  Constant enumerations used in ``pcapkit`` for protocol
  family extraction and representation.

Engine Comparison
-----------------

Due to the general overhead of ``pcapkit``, its extraction procedure takes
around *0.2* milliseconds per packet, which is already impressive but not enough
comparing to other popular extration engines availbale on the market, given the
fact that ``pcapkit`` is a **comprehensive** packet processing module.

Additionally, ``pcapkit`` introduced alternative extractionengines to accelerate
this procedure. By now ``pcapkit`` supports `Scapy`_, `DPKT`_, and `PyShark`_.

Test Environment
~~~~~~~~~~~~~~~~

.. list-table::

   * - Operating System
     - macOS Ventura 13.4.1
   * - Chip
     - Apple M2 Pro
   * - Memory
     - 16 GB

Test Results
~~~~~~~~~~~~

============= ===========================
Engine        Performance (ms per packet)
============= ===========================
``dpkt``       0.010390_056723
``scapy``      0.091690_233567
``pcapkit``    0.200390_390390
``pyshark``   24.682185_018351
============= ===========================

------------
Installation
------------

.. note::

   ``pcapkit`` supports Python versions **since 3.6**.

Simply run the following to install the current version from PyPI:

.. code-block:: shell

   pip install pypcapkit

Or install the latest version from the gi repository:

.. code-block:: shell

   git clone https://github.com/JarryShaw/PyPCAPKit.git
   cd pypcapkit
   pip install -e .
   # and to update at any time
   git pull

And since ``pcapkit`` supports various extraction engines, and extensive
plug-in functions, you may want to install the optional ones:

.. code-block:: shell

   # for DPKT only
   pip install pypcapkit[DPKT]
   # for Scapy only
   pip install pypcapkit[Scapy]
   # for PyShark only
   pip install pypcapkit[PyShark]
   # and to install all the optional packages
   pip install pypcapkit[all]
   # or to do this explicitly
   pip install pypcapkit dpkt scapy pyshark

For CLI usage, you will need to install the optional packages:

.. code-block:: shell

   pip install pypcapkit[cli]
   # or explicitly...
   pip install pypcapkit emoji

.. _PCAP: https://en.wikipedia.org/wiki/Pcap
.. _Scapy: https://scapy.net
.. _DPKT: https://dpkt.readthedocs.io
.. _PyShark: https://kiminewt.github.io/pyshark
.. _DictDumper: https://github.com/JarryShaw/DictDumper

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pypcapkit",
    "maintainer": "Jarry Shaw",
    "docs_url": null,
    "requires_python": "<4,>=3.6",
    "maintainer_email": null,
    "keywords": "network, pcap, packet",
    "author": null,
    "author_email": "Jarry Shaw <jarryshaw@icloud.com>",
    "download_url": "https://files.pythonhosted.org/packages/46/08/270e3ec27517a5a8bff06b95ce0ec419a830afb3cc982dbaaab4bd44c015/pypcapkit-1.3.5.post5.tar.gz",
    "platform": null,
    "description": "PyPCAPKit - Comprehensive Network Packet Analysis Library\n=========================================================\n\n   For any technical and/or maintenance information,\n   please kindly refer to the |docs|_.\n\n.. |docs| replace:: **Official Documentation**\n.. _docs: https://jarryshaw.github.io/PyPCAPKit/\n\nThe PyPCAPKit project is an open source Python program focus on network packet\nparsing and analysis, which works as a comprehensive `PCAP`_ file extraction,\nconstruction and analysis library.\n\n   The whole project supports **Python 3.6** or later.\n\n-----\nAbout\n-----\n\nPyPCAPKit is a comprehensive Python-native network packet analysis library,\nwith `DictDumper`_ as its formatted output dumper.\n\nUnlike popular PCAP file extractors, such as `Scapy`_, `DPKT`_, `PyShark`_,\nand etc, ``pcapkit`` is designed to be much more comprehensive, which means\nit is able to provide more detailed information about the packet, as well as\na more *Pythonic* interface for users to interact with.\n\nModule Structure\n----------------\n\nIn ``pcapkit``, all files can be described as following eight parts.\n\n- Interface (``pcapkit.interface``)\n\n  User interface for the ``pcapkit`` library, which\n  standardises and simplifies the usage of this library.\n\n- Foundation (``pcapkit.foundation``)\n\n  Synthesises file I/O and protocol analysis, coordinates\n  information exchange in all network layers, as well as\n  provides the foundamental functions for ``pcapkit``.\n\n- Protocols (``pcapkit.protocols``)\n\n  Collection of all protocol family, with detailed\n  implementation and methods.\n\n- Utilities (``pcapkit.utilities``)\n\n  Auxiliary functions and tools for ``pcapkit``.\n\n- CoreKit (``pcapkit.corekit``)\n\n  Core utilities for ``pcapkit`` implementation, mainly\n  for internal data structure and processing.\n\n- ToolKit (``pcapkit.toolkit``)\n\n  Auxiliary tools for ``pcapkit`` to support the multiple\n  extraction engines with a unified interface.\n\n- DumpKit (``pcapkit.dumpkit``)\n\n  File output formatters for ``pcapkit``.\n\n- Constants (``pcapkit.const``)\n\n  Constant enumerations used in ``pcapkit`` for protocol\n  family extraction and representation.\n\nEngine Comparison\n-----------------\n\nDue to the general overhead of ``pcapkit``, its extraction procedure takes\naround *0.2* milliseconds per packet, which is already impressive but not enough\ncomparing to other popular extration engines availbale on the market, given the\nfact that ``pcapkit`` is a **comprehensive** packet processing module.\n\nAdditionally, ``pcapkit`` introduced alternative extractionengines to accelerate\nthis procedure. By now ``pcapkit`` supports `Scapy`_, `DPKT`_, and `PyShark`_.\n\nTest Environment\n~~~~~~~~~~~~~~~~\n\n.. list-table::\n\n   * - Operating System\n     - macOS Ventura 13.4.1\n   * - Chip\n     - Apple M2 Pro\n   * - Memory\n     - 16 GB\n\nTest Results\n~~~~~~~~~~~~\n\n============= ===========================\nEngine        Performance (ms per packet)\n============= ===========================\n``dpkt``       0.010390_056723\n``scapy``      0.091690_233567\n``pcapkit``    0.200390_390390\n``pyshark``   24.682185_018351\n============= ===========================\n\n------------\nInstallation\n------------\n\n.. note::\n\n   ``pcapkit`` supports Python versions **since 3.6**.\n\nSimply run the following to install the current version from PyPI:\n\n.. code-block:: shell\n\n   pip install pypcapkit\n\nOr install the latest version from the gi repository:\n\n.. code-block:: shell\n\n   git clone https://github.com/JarryShaw/PyPCAPKit.git\n   cd pypcapkit\n   pip install -e .\n   # and to update at any time\n   git pull\n\nAnd since ``pcapkit`` supports various extraction engines, and extensive\nplug-in functions, you may want to install the optional ones:\n\n.. code-block:: shell\n\n   # for DPKT only\n   pip install pypcapkit[DPKT]\n   # for Scapy only\n   pip install pypcapkit[Scapy]\n   # for PyShark only\n   pip install pypcapkit[PyShark]\n   # and to install all the optional packages\n   pip install pypcapkit[all]\n   # or to do this explicitly\n   pip install pypcapkit dpkt scapy pyshark\n\nFor CLI usage, you will need to install the optional packages:\n\n.. code-block:: shell\n\n   pip install pypcapkit[cli]\n   # or explicitly...\n   pip install pypcapkit emoji\n\n.. _PCAP: https://en.wikipedia.org/wiki/Pcap\n.. _Scapy: https://scapy.net\n.. _DPKT: https://dpkt.readthedocs.io\n.. _PyShark: https://kiminewt.github.io/pyshark\n.. _DictDumper: https://github.com/JarryShaw/DictDumper\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License",
    "summary": "PyPCAPKit: comprehensive network packet analysis library",
    "version": "1.3.5.post5",
    "project_urls": {
        "changelog": "https://github.com/JarryShaw/PyPCAPKit/releases",
        "documentation": "https://jarryshaw.github.io/PyPCAPKit/",
        "homepage": "https://jarryshaw.github.io/PyPCAPKit/",
        "repository": "https://github.com/JarryShaw/PyPCAPKit"
    },
    "split_keywords": [
        "network",
        " pcap",
        " packet"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1df468211d56403bd572cfbbbfa6b74307cb3c2e0ee8a8d2856266ccd5b779f7",
                "md5": "5b704d6399ff685bc31972e36bfbe548",
                "sha256": "70ca2c4d3ca59c14d43575f3ee1cb407993d4f5884de454e31d0f11402269c86"
            },
            "downloads": -1,
            "filename": "pypcapkit-1.3.5.post5-cp310-none-any.whl",
            "has_sig": false,
            "md5_digest": "5b704d6399ff685bc31972e36bfbe548",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4,>=3.6",
            "size": 976350,
            "upload_time": "2025-01-11T10:07:34",
            "upload_time_iso_8601": "2025-01-11T10:07:34.908815Z",
            "url": "https://files.pythonhosted.org/packages/1d/f4/68211d56403bd572cfbbbfa6b74307cb3c2e0ee8a8d2856266ccd5b779f7/pypcapkit-1.3.5.post5-cp310-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a5dbdaad1aa306360fc06f6c8346218dcc4f4362a2969552c625c8f4181e8c62",
                "md5": "2a822632c9f7e52126214d849b938a1c",
                "sha256": "4b00ba6a99cc02050bda762100436506d3ee6e9c377d9e92bdad23c83df259b9"
            },
            "downloads": -1,
            "filename": "pypcapkit-1.3.5.post5-cp311-none-any.whl",
            "has_sig": false,
            "md5_digest": "2a822632c9f7e52126214d849b938a1c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4,>=3.6",
            "size": 976350,
            "upload_time": "2025-01-11T10:07:29",
            "upload_time_iso_8601": "2025-01-11T10:07:29.057517Z",
            "url": "https://files.pythonhosted.org/packages/a5/db/daad1aa306360fc06f6c8346218dcc4f4362a2969552c625c8f4181e8c62/pypcapkit-1.3.5.post5-cp311-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f54f953c2f6063c31a4dd139ca4e2b4f92c314ff486fec05e7d914e5592dca3",
                "md5": "06a6e65d80ae28aaef2f45f8c08ac4da",
                "sha256": "a55985ddb1b815c85f86a30b38796e06d00f89d3242b2ef97eadb75c6bf9c48c"
            },
            "downloads": -1,
            "filename": "pypcapkit-1.3.5.post5-cp313-none-any.whl",
            "has_sig": false,
            "md5_digest": "06a6e65d80ae28aaef2f45f8c08ac4da",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4,>=3.6",
            "size": 976350,
            "upload_time": "2025-01-11T10:07:43",
            "upload_time_iso_8601": "2025-01-11T10:07:43.862325Z",
            "url": "https://files.pythonhosted.org/packages/8f/54/f953c2f6063c31a4dd139ca4e2b4f92c314ff486fec05e7d914e5592dca3/pypcapkit-1.3.5.post5-cp313-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9e4accf1e78f5decff3c90e5936099979b38f7303316355020ba792f99f16a98",
                "md5": "dcbb0d77c06b8170eb4bfc359d4bae9d",
                "sha256": "f7b8103aaa76d731faf5409a62f1ac68c006f3731b2a85ba98f5884a0ddcc9fc"
            },
            "downloads": -1,
            "filename": "pypcapkit-1.3.5.post5-pp310-none-any.whl",
            "has_sig": false,
            "md5_digest": "dcbb0d77c06b8170eb4bfc359d4bae9d",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "<4,>=3.6",
            "size": 976350,
            "upload_time": "2025-01-11T10:07:50",
            "upload_time_iso_8601": "2025-01-11T10:07:50.806109Z",
            "url": "https://files.pythonhosted.org/packages/9e/4a/ccf1e78f5decff3c90e5936099979b38f7303316355020ba792f99f16a98/pypcapkit-1.3.5.post5-pp310-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5d545e4f4c4f0144206644de4ac0f354868831365e8dd1c443024c339ccdd8f8",
                "md5": "3811ae3b199adbca50b79c51465d4e9e",
                "sha256": "fd8a0dad1daa47f4b8e028831a13e9a2f4596853f5478bb20eabad2a6b565c3d"
            },
            "downloads": -1,
            "filename": "pypcapkit-1.3.5.post5-pp38-none-any.whl",
            "has_sig": false,
            "md5_digest": "3811ae3b199adbca50b79c51465d4e9e",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": "<4,>=3.6",
            "size": 976334,
            "upload_time": "2025-01-11T10:07:41",
            "upload_time_iso_8601": "2025-01-11T10:07:41.397756Z",
            "url": "https://files.pythonhosted.org/packages/5d/54/5e4f4c4f0144206644de4ac0f354868831365e8dd1c443024c339ccdd8f8/pypcapkit-1.3.5.post5-pp38-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff443941fd7749628b2b7ba412bef4b104ffce131526e566f44aa0902fe4dc03",
                "md5": "bf43bda62ff558ff03d919e8b6bcacac",
                "sha256": "920cd7d0a2d25a960386eff6bca6aa9f6d64b979f6a2b630b731c09cefa15b04"
            },
            "downloads": -1,
            "filename": "pypcapkit-1.3.5.post5-pp39-none-any.whl",
            "has_sig": false,
            "md5_digest": "bf43bda62ff558ff03d919e8b6bcacac",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "<4,>=3.6",
            "size": 976350,
            "upload_time": "2025-01-11T10:07:44",
            "upload_time_iso_8601": "2025-01-11T10:07:44.484000Z",
            "url": "https://files.pythonhosted.org/packages/ff/44/3941fd7749628b2b7ba412bef4b104ffce131526e566f44aa0902fe4dc03/pypcapkit-1.3.5.post5-pp39-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4608270e3ec27517a5a8bff06b95ce0ec419a830afb3cc982dbaaab4bd44c015",
                "md5": "d01df30c7bf55198a250cc0e9d44000b",
                "sha256": "17d1908c6661be22d1db9a7031c5ffcc3d8f91f93e0ac170fc9b381c39d18333"
            },
            "downloads": -1,
            "filename": "pypcapkit-1.3.5.post5.tar.gz",
            "has_sig": false,
            "md5_digest": "d01df30c7bf55198a250cc0e9d44000b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.6",
            "size": 671811,
            "upload_time": "2025-01-11T10:07:45",
            "upload_time_iso_8601": "2025-01-11T10:07:45.485870Z",
            "url": "https://files.pythonhosted.org/packages/46/08/270e3ec27517a5a8bff06b95ce0ec419a830afb3cc982dbaaab4bd44c015/pypcapkit-1.3.5.post5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-11 10:07:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "JarryShaw",
    "github_project": "PyPCAPKit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pypcapkit"
}
        
Elapsed time: 0.42769s