Skip to main content

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

For local development with pipenv, the repository already includes a Pipfile and Makefile targets that keep both the virtualenv and the package caches inside the project directory:

make setup

This resolves two common local setup issues on macOS/Homebrew installations: pipenv cache permission errors under ~/Library/Caches and lxml builds failing to locate Homebrew’s libxml2/libxslt headers.

If you prefer to run pipenv directly, use the same local cache layout and skip any stale, user-local Pipfile.lock:

PIPENV_VENV_IN_PROJECT=1 \
PIPENV_CACHE_DIR=$PWD/.pipenv-cache \
PIP_CACHE_DIR=$PWD/.pip-cache \
pipenv install --skip-lock --dev

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

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.4.0.tar.gz (801.3 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.4.0-pp311-none-any.whl (976.2 kB view details)

Uploaded PyPy

pypcapkit-1.4.0-pp310-none-any.whl (976.2 kB view details)

Uploaded PyPy

pypcapkit-1.4.0-cp314-none-any.whl (976.2 kB view details)

Uploaded CPython 3.14

pypcapkit-1.4.0-cp313-none-any.whl (976.2 kB view details)

Uploaded CPython 3.13

pypcapkit-1.4.0-cp312-none-any.whl (976.2 kB view details)

Uploaded CPython 3.12

pypcapkit-1.4.0-cp311-none-any.whl (976.2 kB view details)

Uploaded CPython 3.11

pypcapkit-1.4.0-cp310-none-any.whl (976.2 kB view details)

Uploaded CPython 3.10

File details

Details for the file pypcapkit-1.4.0.tar.gz.

File metadata

  • Download URL: pypcapkit-1.4.0.tar.gz
  • Upload date:
  • Size: 801.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypcapkit-1.4.0.tar.gz
Algorithm Hash digest
SHA256 1c97355a72f8328815a0951dc1a297dd3dcaa0b3c8725ea5090202f79b2ce458
MD5 0877c973d897545dd162ad1bcf0e314b
BLAKE2b-256 281fe8f707fc6c6e5218f0104141c04fd58e0582d3725032a083750812a1e6a1

See more details on using hashes here.

File details

Details for the file pypcapkit-1.4.0-pp311-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.4.0-pp311-none-any.whl
  • Upload date:
  • Size: 976.2 kB
  • Tags: PyPy
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypcapkit-1.4.0-pp311-none-any.whl
Algorithm Hash digest
SHA256 30c7d6ce9548e2a728ad66ca1b41b9510c5af97e3d82fc46a8a5ef1c39904187
MD5 1f5d5ae5af50d67ffcfe2e61009fdd8f
BLAKE2b-256 0d7276107c777c28a764a3f02190f123e9b8682c1ab0009428c80ff9c7d6a4ce

See more details on using hashes here.

File details

Details for the file pypcapkit-1.4.0-pp310-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.4.0-pp310-none-any.whl
  • Upload date:
  • Size: 976.2 kB
  • Tags: PyPy
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypcapkit-1.4.0-pp310-none-any.whl
Algorithm Hash digest
SHA256 fe0cacde141db749a6c250fa2a4ea43654b2a953da1ef6015b1aa19155641897
MD5 1a915446823fdbab22305839726d6d2b
BLAKE2b-256 3b72f01461fe1c96fabd9d1399323bbc40fcd2da9d47d6a188b4fae5819f1117

See more details on using hashes here.

File details

Details for the file pypcapkit-1.4.0-cp314-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.4.0-cp314-none-any.whl
  • Upload date:
  • Size: 976.2 kB
  • Tags: CPython 3.14
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypcapkit-1.4.0-cp314-none-any.whl
Algorithm Hash digest
SHA256 b8d2689964d9ab326fe05623a386f5cbd79b579df05d6c1dc2f2832643354317
MD5 91974ec65c48d5d4e8e73a08609d8754
BLAKE2b-256 6b93baa2bff0ee9f115bbf133e4447eb9534ddd7f942a53600e00ffd97b2ab4d

See more details on using hashes here.

File details

Details for the file pypcapkit-1.4.0-cp313-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.4.0-cp313-none-any.whl
  • Upload date:
  • Size: 976.2 kB
  • Tags: CPython 3.13
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypcapkit-1.4.0-cp313-none-any.whl
Algorithm Hash digest
SHA256 0e8f11258aaed88dd7a3d8d47540ffc747d42537dd51bfd9b25b0170d8e316e7
MD5 d291eefe2fa82f33048ec0e405efe2ac
BLAKE2b-256 6a64c19962c134bd6884c37ca37ea4da361fbb314c7bc73525522e84886c2828

See more details on using hashes here.

File details

Details for the file pypcapkit-1.4.0-cp312-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.4.0-cp312-none-any.whl
  • Upload date:
  • Size: 976.2 kB
  • Tags: CPython 3.12
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypcapkit-1.4.0-cp312-none-any.whl
Algorithm Hash digest
SHA256 1c42940f434b3e7a27fc095fdebe351799e6355e07407bb592d778dff6ab3ad8
MD5 9e990d1b62c66406b6f1af94df3f6f5d
BLAKE2b-256 282320a9c2d92e335c4a7bb710a2cc476ba5e25b5456683359749f27ed6035a9

See more details on using hashes here.

File details

Details for the file pypcapkit-1.4.0-cp311-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.4.0-cp311-none-any.whl
  • Upload date:
  • Size: 976.2 kB
  • Tags: CPython 3.11
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypcapkit-1.4.0-cp311-none-any.whl
Algorithm Hash digest
SHA256 cf9620365038c2d0b475f14f3e69460043a05d71fc84f0ab200f69f8213da9f2
MD5 bdd7022ebb80967a977eadac722260d1
BLAKE2b-256 63af3afbfaad0d3d99f56c74236f162973e6a2a46e22ea7ab7b3b566c87da737

See more details on using hashes here.

File details

Details for the file pypcapkit-1.4.0-cp310-none-any.whl.

File metadata

  • Download URL: pypcapkit-1.4.0-cp310-none-any.whl
  • Upload date:
  • Size: 976.2 kB
  • Tags: CPython 3.10
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypcapkit-1.4.0-cp310-none-any.whl
Algorithm Hash digest
SHA256 7374eaf89051f8550c730a4665437569954bb6836ec4cc2dd01255527ac8d12a
MD5 a0314ffd57dd2215f4644787c1c7536d
BLAKE2b-256 60a6ab1c4e66a4e8fbc9f6060b644ff4196ca55700682a1d9bcdfdbd5addf611

See more details on using hashes here.

Release history Release notifications | RSS feed

1.4.1

8 files

This release

1.4.0 This release

8 files

1.3.5.post43

6 files

1.3.5.post42

7 files

1.3.5.post41

7 files

1.3.5.post40

8 files

1.3.5.post39

7 files

1.3.5.post38

8 files

1.3.5.post37

9 files

1.3.5.post36

8 files

1.3.5.post35

9 files

1.3.5.post34

7 files

1.3.5.post33

9 files

1.3.5.post32

9 files

1.3.5.post31

8 files

1.3.5.post30

9 files

1.3.5.post29

8 files

1.3.5.post28

9 files

1.3.5.post27

6 files

1.3.5.post26

6 files

1.3.5.post25

5 files

1.3.5.post24

9 files

1.3.5.post22

5 files

1.3.5.post21

8 files

1.3.5.post20

4 files

1.3.5.post19

6 files

1.3.5.post18

7 files

1.3.5.post17

8 files

1.3.5.post16

4 files

1.3.5.post15

5 files

1.3.5.post14

9 files

1.3.5.post13

4 files

1.3.5.post12

4 files

1.3.5.post11

4 files

1.3.5.post10

4 files

1.3.5.post9

3 files

1.3.5.post8

4 files

1.3.5.post7

3 files

1.3.5.post6

9 files

1.3.5.post5

7 files

1.3.5.post4

5 files

1.3.5.post3

8 files

1.3.5.post2

4 files

1.3.5.post1

9 files

1.3.5

8 files

1.3.4

9 files

1.3.3.post2

9 files

1.3.3.post1

9 files

1.3.3

7 files

1.3.1.post28

9 files

1.3.1.post27

8 files

1.3.1.post26

5 files

1.3.1.post25

3 files

1.3.1.post24

9 files

1.3.1.post23

4 files

1.3.1.post22

4 files

1.3.1.post21

7 files

1.3.1.post20

9 files

1.3.1.post19

5 files

1.3.1.post18

9 files

1.3.1.post9

7 files

1.3.1.post8

7 files

1.3.1.post7

6 files

1.3.1.post6

7 files

1.3.1.post5

7 files

1.3.1.post4

6 files

1.3.1.post3

7 files

1.3.1.post2

7 files

1.3.1.post1

7 files

1.3.1

6 files

1.3.0

7 files

1.2.2.post2

7 files

1.2.2.post1

7 files

1.2.2

6 files

1.2.1.post3

7 files

1.2.1.post2

7 files

1.2.1.post1

7 files

1.2.1

7 files

1.2.0

7 files

1.1.1.post2

7 files

1.1.1.post1

7 files

1.1.1

7 files

1.1.0.post3

7 files

1.1.0.post2

6 files

1.1.0.post1

7 files

1.1.0

7 files

1.0.3.post3

6 files

1.0.3.post2

6 files

1.0.3.post1

6 files

1.0.3

6 files

1.0.2.post8

7 files

1.0.2.post7

7 files

1.0.2.post6

7 files

1.0.2.post5

6 files

1.0.2.post4

7 files

1.0.2.post3

6 files

1.0.2.post2

7 files

1.0.2.post1

9 files

1.0.2

5 files

1.0.1.post3

2 files

1.0.1.post2

2 files

1.0.1.post1

2 files

1.0.1

2 files

1.0.0

2 files

0.16.3

14 files

0.16.2

1 file

0.16.1

1 file

0.16.0

1 file

0.15.5

2 files

0.15.4.post1

2 files

0.15.4

2 files

0.15.3

2 files

0.15.2

2 files

0.15.1.post1

2 files

0.15.1

2 files

0.15.0

2 files

0.14.5

13 files

0.14.4

13 files

0.14.3

13 files

0.13.3.post2

15 files

0.13.3.post1

15 files

0.13.3

15 files

0.13.2

10 files

0.13.1

10 files

0.13.0.post2

10 files

0.13.0.post1

10 files

0.13.0

10 files

0.12.11

10 files

0.12.10.post2

10 files

0.12.10.post1

10 files

0.12.10

9 files

0.12.9.post5

9 files

0.12.9.post4

5 files

0.12.9.post3

5 files

0.12.9.post2

3 files

0.12.9.post1

3 files

0.12.9

3 files

0.12.8

3 files

0.12.7

3 files

0.12.6.post1

3 files

0.12.6

3 files

0.12.5.post1

3 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0.post4

2 files

0.12.0.post3

2 files

0.12.0.post2

2 files

0.12.0.post1

2 files

0.12.0

2 files

0.11.3

2 files

0.11.2

2 files

0.11.1

2 files

0.11.0

2 files

0.10.5

2 files

0.10.4

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1.post1

2 files

0.10.1

2 files

0.10.0

2 files

0.9.10.post1

2 files

0.9.10

2 files

0.9.9.post1

2 files

0.9.9

2 files

0.9.8

2 files

0.9.7.post1

2 files

0.9.7

2 files

0.9.6.post2

2 files

0.9.6.post1

2 files

0.9.6

2 files

0.9.5.post2

2 files

0.9.5.post1

2 files

Supported by

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