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

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.1.dev4.tar.gz (670.8 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.1.dev4-pp39-none-any.whl (975.2 kB view details)

Uploaded PyPy

pypcapkit-1.3.1.dev4-pp38-none-any.whl (975.2 kB view details)

Uploaded PyPy

pypcapkit-1.3.1.dev4-cp311-none-any.whl (975.2 kB view details)

Uploaded CPython 3.11

pypcapkit-1.3.1.dev4-cp310-none-any.whl (975.2 kB view details)

Uploaded CPython 3.10

pypcapkit-1.3.1.dev4-cp39-none-any.whl (975.2 kB view details)

Uploaded CPython 3.9

pypcapkit-1.3.1.dev4-cp38-none-any.whl (975.2 kB view details)

Uploaded CPython 3.8

File details

Details for the file pypcapkit-1.3.1.dev4.tar.gz.

File metadata

  • Download URL: pypcapkit-1.3.1.dev4.tar.gz
  • Upload date:
  • Size: 670.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pypcapkit-1.3.1.dev4.tar.gz
Algorithm Hash digest
SHA256 5f923d7b8c801014f5090932dda586f343588ed652c45ddfb2316bd88cac4566
MD5 5dc845fcd9fa5742a55b4f1d51153719
BLAKE2b-256 9bed385013e25d1b9acf4ae5670d86282de3cf987405fa6036c12ce930e80373

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.1.dev4-pp39-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.1.dev4-pp39-none-any.whl
Algorithm Hash digest
SHA256 2fe1fcb9e23e8e0c55edc125eaa15eb8e457df1fa7edae5b3be970d683c1e07e
MD5 bbddb90814ab4b07857e3c2dfd7c179f
BLAKE2b-256 fb6908db2bd7217b04a715ab09bb19a0edc68d52c08d2b81fde1809525a3654e

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.1.dev4-pp38-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.1.dev4-pp38-none-any.whl
Algorithm Hash digest
SHA256 23edf31b8b3af2c2911d95e83840a737e21c33f5f14fbeda26242aa5e5923eb9
MD5 a58342e2345cebe1597f3e1efb7f9706
BLAKE2b-256 9c26707eb766d178acf5f32ebb3df75060f7e43ea14fd7be4cf7f87545d81c32

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.1.dev4-cp311-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.1.dev4-cp311-none-any.whl
Algorithm Hash digest
SHA256 ac0747ed6e327aa186a9a583e7a74b2b3b0f309829a341c3bffafc62762c1728
MD5 e5d4fbe5dc93cf039397400efa639508
BLAKE2b-256 b56a3247aeb4fe5572f2172245591d322e027b30976e73801644f7012b83f846

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.1.dev4-cp310-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.1.dev4-cp310-none-any.whl
Algorithm Hash digest
SHA256 3332f4f4f41269fba848ee83b31483e7718a870e1c6ed54f061d77f09dafb5a3
MD5 b59f20bffe19354db70a5c991503a8b1
BLAKE2b-256 86ad6db4cf1aa320afee0063bc3d87c49df1ad23284b07e73423f8837852d67c

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.1.dev4-cp39-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.3.1.dev4-cp39-none-any.whl
  • Upload date:
  • Size: 975.2 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pypcapkit-1.3.1.dev4-cp39-none-any.whl
Algorithm Hash digest
SHA256 38be048034fcffc434b4b5db06ecc7180e75975ec032bfcca3557206c5b3b582
MD5 8e4b83b72d52c136001d4b7983e229d8
BLAKE2b-256 b78cd427c88bf0ac3a4f45cc68a1d0f186f49b659299423380e8a792666a1468

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.1.dev4-cp38-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.3.1.dev4-cp38-none-any.whl
  • Upload date:
  • Size: 975.2 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pypcapkit-1.3.1.dev4-cp38-none-any.whl
Algorithm Hash digest
SHA256 69ccc281a8e9951eb538934cd7ef86f1eda275edddbaabe0d65b77f5f951f4f3
MD5 ac5f5789db591e7633839fabccff5e43
BLAKE2b-256 2b0a6a7f4f9805dc4c769dde001d57862b03aafdac7717635976a88e816299b7

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