{"id":28568455,"url":"https://github.com/jarryshaw/pypcapkit","last_synced_at":"2025-06-10T16:12:16.667Z","repository":{"id":37251778,"uuid":"109791841","full_name":"JarryShaw/PyPCAPKit","owner":"JarryShaw","description":"Python-based Comprehensive Network Packet Analysis Library","archived":false,"fork":false,"pushed_at":"2025-06-07T10:07:45.000Z","size":222113,"stargazers_count":247,"open_issues_count":5,"forks_count":30,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-06-07T11:18:01.624Z","etag":null,"topics":["computer-networking","network","network-security","network-tools","packet-analyser","packet-analysis","packet-analyzer","packet-crafting","pcap","pcap-analyzer","pcap-parser","python","python3","security","security-tools"],"latest_commit_sha":null,"homepage":"https://jarryshaw.github.io/PyPCAPKit/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JarryShaw.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"jarryshaw","patreon":"jarryshaw","open_collective":null,"ko_fi":null,"tidelift":"pypi/pypcapkit","community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-11-07T05:41:56.000Z","updated_at":"2025-06-07T10:06:08.000Z","dependencies_parsed_at":"2022-07-09T15:47:10.394Z","dependency_job_id":"d3daa9ef-8efc-4c3c-b5b7-a99cdc683e77","html_url":"https://github.com/JarryShaw/PyPCAPKit","commit_stats":{"total_commits":954,"total_committers":8,"mean_commits":119.25,"dds":0.5681341719077568,"last_synced_commit":"e30a7b99afa4e5adbd7bfb79b6edd96478f21bb2"},"previous_names":["jarryshaw/jspcap"],"tags_count":303,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JarryShaw%2FPyPCAPKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JarryShaw%2FPyPCAPKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JarryShaw%2FPyPCAPKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JarryShaw%2FPyPCAPKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JarryShaw","download_url":"https://codeload.github.com/JarryShaw/PyPCAPKit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JarryShaw%2FPyPCAPKit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259106733,"owners_count":22805941,"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":["computer-networking","network","network-security","network-tools","packet-analyser","packet-analysis","packet-analyzer","packet-crafting","pcap","pcap-analyzer","pcap-parser","python","python3","security","security-tools"],"created_at":"2025-06-10T16:12:12.642Z","updated_at":"2025-06-10T16:12:16.653Z","avatar_url":"https://github.com/JarryShaw.png","language":"Python","funding_links":["https://github.com/sponsors/jarryshaw","https://patreon.com/jarryshaw","https://tidelift.com/funding/github/pypi/pypcapkit"],"categories":[],"sub_categories":[],"readme":"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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarryshaw%2Fpypcapkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarryshaw%2Fpypcapkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarryshaw%2Fpypcapkit/lists"}