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.1.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.1-pp311-none-any.whl (976.2 kB view details)

Uploaded PyPy

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

Uploaded PyPy

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

Uploaded CPython 3.14

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

Uploaded CPython 3.13

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

Uploaded CPython 3.12

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

Uploaded CPython 3.11

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

Uploaded CPython 3.10

File details

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

File metadata

  • Download URL: pypcapkit-1.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 140ed7c38838de02e11b8929b31762cd8e383c7555758ee3bcf5b056d6428d91
MD5 9035a1ff8bcda965b10dc3f58d9e4b2f
BLAKE2b-256 fcdeb056e3ea8290b24359cdbe1655086ead27c1c41ec944eb9bd957ce1249e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypcapkit-1.4.1-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.1-pp311-none-any.whl
Algorithm Hash digest
SHA256 6ec2bdbe27c3f64b535c4e2349c03f39ee9e94dcdc25eb09457fe1e99ffbeef0
MD5 62c82c7981d806da1b9909ae51962434
BLAKE2b-256 4b5329101d9029068f8b560f5476e25f98e5392a02af4ff23e8555e4296ed377

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypcapkit-1.4.1-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.1-pp310-none-any.whl
Algorithm Hash digest
SHA256 6626f784f14a30e0be51413576c21e3d5b075ecbbfc91fe56803a163e00d821e
MD5 36ccc736341587d95b3ec122dbca23e4
BLAKE2b-256 b9b7887c0961adff1f7607dc74692d9e39e3f97f42949197eb22b9d61dc1fe13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypcapkit-1.4.1-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.1-cp314-none-any.whl
Algorithm Hash digest
SHA256 71caf15ab8b953934ec5a48cff79df2623ce337c11b64f7a821ae7c295bbcc80
MD5 efa09a353903622e3f1a6671c9942bc4
BLAKE2b-256 3d5f99598789a95c02afb8a4ab2e4bd701fd1056e38688644a9e77c28b963120

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypcapkit-1.4.1-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.1-cp313-none-any.whl
Algorithm Hash digest
SHA256 485e883967bb644d3661d77c9c84b17eb1bf809c173ced9b1e14d8af8e27698c
MD5 5fd130dac1719d0e57a13a7afef8d1f2
BLAKE2b-256 ff110e428f549fb5ddc0f26d53090c1229e1b7f608a2dfd8e87c0fc92f4c2ec6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypcapkit-1.4.1-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.1-cp312-none-any.whl
Algorithm Hash digest
SHA256 fa9d4b58103e2e93cf7b8465f45511094f4f420cb59a21595d5dac6e2720b56c
MD5 617ff2cfbe3d11b565ac31f07bf57b92
BLAKE2b-256 473da9fa36be6850e5f54b31459d0e732899e3b5bec0818249fd6594188373c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypcapkit-1.4.1-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.1-cp311-none-any.whl
Algorithm Hash digest
SHA256 88dbeb0d959a101045ba1de4259593adce8e9a906fe66581118e4484499c47bd
MD5 19883671562329112e28b37d07443225
BLAKE2b-256 2d42aaba09656001622d1493d47b0c9d9442c25b080d018aebcae0b505900d59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypcapkit-1.4.1-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.1-cp310-none-any.whl
Algorithm Hash digest
SHA256 466e4d2224952fefaa6025e1b6ef0f1a99aa0d9457eda390995a036683fbf5b5
MD5 462da6e506634d79d1ba13dd62dc185f
BLAKE2b-256 df9dc701cfb0d58219d57c997f108ed57508ebbc52108b7a42270d39d3e05d96

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.1 This release

8 files

1.4.0

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