Skip to main content

PyPCAPKit: comprehensive network packet analysis library

Project description

For any technical and/or maintenance information, please kindly refer to the Official Documentation.

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

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

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

pip install pypcapkit

Or install the latest version from the gi repository:

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:

# 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:

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypcapkit-1.3.5.post36.tar.gz (669.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pypcapkit-1.3.5.post36-pp310-none-any.whl (973.9 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post36-pp39-none-any.whl (973.9 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post36-pp38-none-any.whl (973.9 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post36-cp313-none-any.whl (973.9 kB view details)

Uploaded CPython 3.13

pypcapkit-1.3.5.post36-cp312-none-any.whl (973.9 kB view details)

Uploaded CPython 3.12

pypcapkit-1.3.5.post36-cp311-none-any.whl (973.9 kB view details)

Uploaded CPython 3.11

pypcapkit-1.3.5.post36-cp39-none-any.whl (973.9 kB view details)

Uploaded CPython 3.9

File details

Details for the file pypcapkit-1.3.5.post36.tar.gz.

File metadata

  • Download URL: pypcapkit-1.3.5.post36.tar.gz
  • Upload date:
  • Size: 669.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pypcapkit-1.3.5.post36.tar.gz
Algorithm Hash digest
SHA256 bb83403a18ac100decc3171a4ab4d2657b5adc8db9252382d859fdb98e953fa1
MD5 0f55f062da3471952bb0bccafd19cc72
BLAKE2b-256 a53fd2fed16f31191daef0fd7eda816d3a19f3f1a3283fcfde820e23ee13927c

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.5.post36-pp310-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post36-pp310-none-any.whl
Algorithm Hash digest
SHA256 86f106068a153d0dbd7c1ed481f137b5e2989d80230472ace49c02bd6a971c7b
MD5 0906830ec97bb37dc9bcca54376793a3
BLAKE2b-256 da709a2102bf690c455f29b38e70e32351b38799e6854160909cdd8c5a8f25ed

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.5.post36-pp39-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post36-pp39-none-any.whl
Algorithm Hash digest
SHA256 a53d5d42c38b62c36c368e89f06a0b5f22f68b905bdf823f699bacff26c4ad77
MD5 38df0dad79347340d16908f347378339
BLAKE2b-256 6b3655b63b1d961f1ee0f5df0378d57f0999d9bf9a097f03a3de9e334201ae29

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.5.post36-pp38-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post36-pp38-none-any.whl
Algorithm Hash digest
SHA256 b989ca99fac9ebbb016a43eb357c6e7264521717457eb29da8906b6a4a1108a2
MD5 664c6250caeb70bb0c4ed9ea0e449134
BLAKE2b-256 c862e631b5db1bab54056f354251af8661a9bd074f50b72b64d7f13aa1874694

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.5.post36-cp313-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post36-cp313-none-any.whl
Algorithm Hash digest
SHA256 8709234e32f250eed33224996b096583f710ce57cdaea6186ac2a623c48cf1d2
MD5 b0b470e8833e1cfa34778a63e859d7a1
BLAKE2b-256 efa1f0144d78fb2ba8c9c690202b0af9b0377d472cd410fbc786f5d6ff92b095

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.5.post36-cp312-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post36-cp312-none-any.whl
Algorithm Hash digest
SHA256 512498e7d87dd5541d0b0b906a86c196a8535dccc096b7d7a77b75352bc6643b
MD5 e0fc883af0a17750b1a1d424674466ab
BLAKE2b-256 9b59fd8820739aff8eb1a0128a0bca6b841a76914b3ca2084ddb79de75be5366

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.5.post36-cp311-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post36-cp311-none-any.whl
Algorithm Hash digest
SHA256 ac0e27b21e9b53ffa272f12a79bf15a7a76e02059f82a30fce61a0aa29182b1b
MD5 29e0584a535ca51585d5000b2a85dd77
BLAKE2b-256 513763e3a231a915bd4915c4293687eb8aadacf7ecd2c1b22c79c2765bd77878

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.5.post36-cp39-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post36-cp39-none-any.whl
Algorithm Hash digest
SHA256 5486fd12e912aeda5ad2e6b3ec2f3ea379b21f2b15e3ac7b59b63c0a1cd6e71c
MD5 e203600dcd23b74f745f9fa7c278bdfa
BLAKE2b-256 f6dd8d634af8de7198598a0136945fd1efe63ad8e86b60673d0cff030625f570

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page