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.post29.tar.gz (669.0 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.post29-pp310-none-any.whl (973.7 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post29-pp39-none-any.whl (973.7 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post29-pp38-none-any.whl (973.7 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post29-cp313-none-any.whl (973.7 kB view details)

Uploaded CPython 3.13

pypcapkit-1.3.5.post29-cp312-none-any.whl (973.7 kB view details)

Uploaded CPython 3.12

pypcapkit-1.3.5.post29-cp311-none-any.whl (973.7 kB view details)

Uploaded CPython 3.11

pypcapkit-1.3.5.post29-cp39-none-any.whl (973.7 kB view details)

Uploaded CPython 3.9

File details

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

File metadata

  • Download URL: pypcapkit-1.3.5.post29.tar.gz
  • Upload date:
  • Size: 669.0 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.post29.tar.gz
Algorithm Hash digest
SHA256 91edadca0c5bbb19d95484d06498db3371d218d0a4fe868a76025c6f54645681
MD5 e5d83f1c1a7917f2c1dbdf7c61e8db53
BLAKE2b-256 bf5927a8ee58231a1e289137d5b22ebab584dcc811c0a906a5d6e8075d1fca74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post29-pp310-none-any.whl
Algorithm Hash digest
SHA256 55f95ed5659548d0c0a09950a736c4b8c137177626ba0f9cb2d8af8bd9eda18f
MD5 af7dd67912da2ae54159ef59050c7460
BLAKE2b-256 5b7c89fb543ee4fb2b71282b24a10b69790085ff2173fdacc629b30352923ec9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post29-pp39-none-any.whl
Algorithm Hash digest
SHA256 96a9178427ace5b8613d7223092c2ed386ed0ef26389e63294d1b4f0d04b1c06
MD5 86328524d172658beee75cc38ba6a5f5
BLAKE2b-256 2ea290edf110cc2937d7ea59d51ff26f7b9352fd96abe5f86458a40ec65b69d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post29-pp38-none-any.whl
Algorithm Hash digest
SHA256 cb4bd85f281aae6f237f4a9c3570908cdac176bd6b04095dff216922809af86f
MD5 e471d9d26e703621c1ecdfb085e8b683
BLAKE2b-256 dc9ccdb7b50d569db4a0891a27cb7a221fac09aa85447e84d199a23d4f43d177

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post29-cp313-none-any.whl
Algorithm Hash digest
SHA256 cb9c436704c9798c84d78ccc67a5c632e523b6e9d6de59cb3327ecf4a717b39b
MD5 9fd66871ebabd2d6bdce346499277032
BLAKE2b-256 a90a63c100ecd5b1807bd9951423beaadb3e371e702ce47da65149c326457e7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post29-cp312-none-any.whl
Algorithm Hash digest
SHA256 369d01d1adb553d6670c31f999c3a7304f070e2a0212f2ace55a4461a9d5c71d
MD5 3498a22893d8616e6f1806a9fcab33ea
BLAKE2b-256 ad4f8a0610644b2118ea2812148e37ab79e10f3a9bd4236db0bcbb3414e36b7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post29-cp311-none-any.whl
Algorithm Hash digest
SHA256 ed73460dfc2820510ba20c3ed1955105981b64cdacdd471056ee9ce5256b6790
MD5 35b30fb7e004c09cd6d586f605cd0a1a
BLAKE2b-256 0260c7fbd16583ca7a15261e7ff03271110a1411d653012186927704925ef019

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post29-cp39-none-any.whl
Algorithm Hash digest
SHA256 8cb9fae6aea6b027e0833c71e3ebd382489bea0ee1c3d99ce038ab7473733bfa
MD5 d8ecf2be27fca338737d727eb3e09375
BLAKE2b-256 81b8b97985986626c51369e1ef6ff5e9982ee81f9e1db3017c51d75741e12b68

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