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

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.3.5.post37.tar.gz (670.9 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.post37-pp310-none-any.whl (974.8 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post37-pp39-none-any.whl (974.8 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post37-pp38-none-any.whl (974.7 kB view details)

Uploaded PyPy

pypcapkit-1.3.5.post37-cp313-none-any.whl (974.8 kB view details)

Uploaded CPython 3.13

pypcapkit-1.3.5.post37-cp312-none-any.whl (974.8 kB view details)

Uploaded CPython 3.12

pypcapkit-1.3.5.post37-cp311-none-any.whl (974.8 kB view details)

Uploaded CPython 3.11

pypcapkit-1.3.5.post37-cp310-none-any.whl (974.8 kB view details)

Uploaded CPython 3.10

pypcapkit-1.3.5.post37-cp39-none-any.whl (974.8 kB view details)

Uploaded CPython 3.9

File details

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

File metadata

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

File hashes

Hashes for pypcapkit-1.3.5.post37.tar.gz
Algorithm Hash digest
SHA256 89785b5e2774ab4e72108ac93c728f73a521ad6b24badcd3432c90b98652a4ac
MD5 c4cca7fce85a87c306e996ace484347e
BLAKE2b-256 a4ebd6198f31d3b960c7122a58da3bb8efcb95323b4fc98d2c71d5dc3561c725

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post37-pp310-none-any.whl
Algorithm Hash digest
SHA256 afed3f3157881dbc79a6868d14485520b66b456c7c3a2a4d0e62a470816a6107
MD5 bc71770de355e07f4fa678597523bea5
BLAKE2b-256 f4729b37366720034976fa0ef7d4237b2b279ee0808bd27b1d1d231618be35ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post37-pp39-none-any.whl
Algorithm Hash digest
SHA256 80929f4524ddbafbf7f707ee4093c71f7469047a8c9005b44dc450b30191380b
MD5 7cd5b94e20b5b430d1653bb8bfac8944
BLAKE2b-256 27c2b1e1719a82e664d91e0fe2a1a532b8e6188e41a7027d22fab46d283367c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post37-pp38-none-any.whl
Algorithm Hash digest
SHA256 6935bf5d1a65302234720167d94eb576e5a360eac21cc8a35d44c7f0ed129038
MD5 6656520150eb03928083b7f41d5b8bdb
BLAKE2b-256 3011071ff3c075d74421a44fb2ad435d529cb1bd6d48fbd20652b4a56a8edc72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post37-cp313-none-any.whl
Algorithm Hash digest
SHA256 ef1d53d9f03c27e8021ba274f131838b381e1e47c88deaf2d297eedef28f99d7
MD5 c4d5254dbb218a5e25000300eae273d4
BLAKE2b-256 8622a609da953dc27117370aa9cf5a697106b8049aba499e04105e063b5f6b4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post37-cp312-none-any.whl
Algorithm Hash digest
SHA256 6438f3f425d7b2f38cb9ebd2df3216ccf9accfffc5810013949eb8b0d4107490
MD5 3c9c65a577551083d9c2c757fb78abf5
BLAKE2b-256 b4ebb40d208f4fe1c78c142a040972d8d1364c21602f0fe70e842018818bead8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post37-cp311-none-any.whl
Algorithm Hash digest
SHA256 544e1abd001e4af5b0d6985ee1e8c342bc9d2ea342d39a7f77e9a11419b294a9
MD5 9f4fae845ab10964a9aff9033d0ff340
BLAKE2b-256 dfe8a0809f99b8e530175991fd7f1177be5f1bf2979d8877ad2f613f26d281f7

See more details on using hashes here.

File details

Details for the file pypcapkit-1.3.5.post37-cp310-none-any.whl.

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post37-cp310-none-any.whl
Algorithm Hash digest
SHA256 11c83bbc9d0bbb74d9bd827a19173d4f06c5d030862b94664e28011c5c6fcc82
MD5 9df99ea582f9094cf639fa94419fccc8
BLAKE2b-256 0254b3804434304bbf31a6caf74756f55af03929a7ca94491d711b348ce8aea9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pypcapkit-1.3.5.post37-cp39-none-any.whl
Algorithm Hash digest
SHA256 0f5721eca317ea52e4e4b7836a1ebcb6b4ada5c0c25bfbabdf89234cbe2b7439
MD5 c26d1c7aaa3de4a181957ab784b65128
BLAKE2b-256 d0c074500dd7cc5091efdae653fcc879bb5b46152cf894595b3fe99e1526a1b6

See more details on using hashes here.

Release history Release notifications | RSS feed

1.4.1

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

This release

1.3.5.post37 This release

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