Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PyPCAPKit -- Comprehensive Network Packet Analysis Library

For technical and maintenance information, see the Official Documentation.

PyPCAPKit is an open-source Python library for parsing, constructing and analysing network packets and PCAP files, with DictDumper as its formatted output dumper.

Unlike popular PCAP extractors such as Scapy, DPKT and PyShark, pcapkit reports more detail about each packet through a more Pythonic interface. Where that depth is not needed, the same interface also drives six third-party extraction engines.

The whole project declares Python 3.6 or later. CI supports 3.11 to 3.15, and still tests the end-of-life 3.8 to 3.10 without letting a failure block anything.

Installation

pip install pypcapkit

Or from a clone, for the latest version and for development:

git clone https://github.com/JarryShaw/PyPCAPKit.git
cd PyPCAPKit
pip install -e .

The extraction engines and plug-ins are optional extras:

pip install pypcapkit[DPKT]         # or Scapy, PyShark, PyPCAPFile, PyPCAP, PCAP_CT
pip install pypcapkit[crypto]       # ESP payload decryption
pip install pypcapkit[cli]          # command line interface
pip install pypcapkit[all]          # core addons only: cli + crypto + NGAP (pycrate)

Engines are on demand; all bundles only the core addons the library needs for full functionality. Four engines also need something beyond pip install -- a tshark binary, a C compiler, libpcap headers, or an older interpreter -- and pypcap/pcap-ct must never be installed together. The installation guide gives each constraint and its reason. pcapkit enforces them in code: asking for an engine that cannot run in the current environment warns with the cause and falls back to its own parser.

Usage

>>> import pcapkit
>>> extraction = pcapkit.extract('in.pcap', nofile=True)
>>> len(extraction.frame)
6
>>> frame = extraction.frame[0]
>>> str(frame.protochain)
'Ethernet:IPv6:IPv6_ICMP'
>>> frame.info.time
datetime.datetime(2017, 11, 19, 15, 49, 5, 471719, tzinfo=datetime.timezone.utc)
>>> frame.payload.payload.src
IPv6Address('fe80::a6:87f9:2793:16ee')

The output is from the committed examples/captures/in.pcap, so it is reproducible from a clone.

Reassembly, TCP flow tracing and the engine are keyword arguments to the same call:

>>> scapy = pcapkit.extract('in.pcap', nofile=True, engine='scapy')
>>> reasm = pcapkit.extract('in.pcap', nofile=True, reassembly=True, ipv6=True)
>>> flows = pcapkit.extract('in.pcap', nofile=True, trace=True, tcp=True)
>>> len(flows.trace)
3

More examples, including the command line interface, are in How to ....

Documentation

The official documentation is the reference. Pages worth knowing by name:

Page What is in it
API reference Every module, protocol and constant
Module structure What each of the nine subpackages is for
Engine comparison Which engines exist, which Python versions they run on, and measured speed per packet
Engine support What each engine does not support, and how the gap is surfaced
Installation Extras, engine prerequisites and the local development setup
Testing Running the suite, and the sample captures it needs
How to ... Worked examples, library and CLI
Extensions Registering your own protocols, engines and dumpers

Release history is in CHANGELOG.md, and contribution guidelines are in CONTRIBUTING.md.

Metadata

Release files for pypcapkit 1.5.0b10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypcapkit 1.5.0b10
File Size Uploaded
pypcapkit-1.5.0b10.tar.gz 3.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pypcapkit 1.5.0b10
File
pypcapkit-1.5.0b10-pp311-none-any.whl PyPy 3.11 none any Details
pypcapkit-1.5.0b10-pp310-none-any.whl PyPy 3.10 none any Details
pypcapkit-1.5.0b10-cp315-none-any.whl CPython 3.15 none any Details
pypcapkit-1.5.0b10-cp314-none-any.whl CPython 3.14 none any Details
pypcapkit-1.5.0b10-cp313-none-any.whl CPython 3.13 none any Details
pypcapkit-1.5.0b10-cp312-none-any.whl CPython 3.12 none any Details
pypcapkit-1.5.0b10-cp311-none-any.whl CPython 3.11 none any Details
pypcapkit-1.5.0b10-cp310-none-any.whl CPython 3.10 none any Details

Total release size: 18.3 MB

Release files / pypcapkit-1.5.0b10.tar.gz

Download URL pypcapkit-1.5.0b10.tar.gz
Size 3.8 MB
Tags Source
SHA-256 checksum
How to use checksums
25f50f72ad4c0e0c0f7a7220d43039b6fc46363a67d9f04ffc7fb0753c61ac42
BLAKE2b-256 checksum
How to use checksums
d491a1e370c88401b11bfa038769c2e5df9991dc1eef793976c4765ee59c558b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pypcapkit-1.5.0b10-pp311-none-any.whl

Download URL pypcapkit-1.5.0b10-pp311-none-any.whl
Size 1.8 MB
Tags PyPy 3.11
SHA-256 checksum
How to use checksums
f099ac3ab72c7440b704ebb9f505e75d109efe2080442183bfda43aeb66366e3
BLAKE2b-256 checksum
How to use checksums
36dac3effa313a1062755a2a1c85ca1a3b6333d293ca06509edd7424ef2ea960
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pypcapkit-1.5.0b10-pp310-none-any.whl

Download URL pypcapkit-1.5.0b10-pp310-none-any.whl
Size 1.8 MB
Tags PyPy 3.10
SHA-256 checksum
How to use checksums
5250013e2b485af26201c709e8f3004fc7fe9f41e43cc65f711e5859f696a713
BLAKE2b-256 checksum
How to use checksums
3c06f391908ff28f286c33c2def0e6125650320b2a80a0fcd78b0e7aa4e5024a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pypcapkit-1.5.0b10-cp315-none-any.whl

Download URL pypcapkit-1.5.0b10-cp315-none-any.whl
Size 1.8 MB
Tags CPython 3.15
SHA-256 checksum
How to use checksums
f88231629bee4c388dad95095e86084d9c26e83ca99a28243296da48dc5778bd
BLAKE2b-256 checksum
How to use checksums
d956a37a16fce11299483bdb80470420f33977d919a1fd230d23775403710463
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pypcapkit-1.5.0b10-cp314-none-any.whl

Download URL pypcapkit-1.5.0b10-cp314-none-any.whl
Size 1.8 MB
Tags CPython 3.14
SHA-256 checksum
How to use checksums
8a5256229b9c6c67798d4d3557b8df0ff78c25fa4f1a78e7d51e04792662ad47
BLAKE2b-256 checksum
How to use checksums
51937d9360fb07e6b09f4cb0d9ebd401899f98c04f46efc5579e94192d44997a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pypcapkit-1.5.0b10-cp313-none-any.whl

Download URL pypcapkit-1.5.0b10-cp313-none-any.whl
Size 1.8 MB
Tags CPython 3.13
SHA-256 checksum
How to use checksums
f23351bd4d956c7ba23e23d6db4b8607718e1d0a46efa526b7d9141230f734d7
BLAKE2b-256 checksum
How to use checksums
fe62879a539646225c57bea3737ba4f71b3b01ce9a6961183c90f636b65411c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pypcapkit-1.5.0b10-cp312-none-any.whl

Download URL pypcapkit-1.5.0b10-cp312-none-any.whl
Size 1.8 MB
Tags CPython 3.12
SHA-256 checksum
How to use checksums
65a91ff536f4e311ed4ea18c34a3201e23a834158e4cfdf78c124ae23997e997
BLAKE2b-256 checksum
How to use checksums
2ad43436a0ebedc05dd8b2d6f13dc5f99916aeae8fa21cecde566aefdf2f2470
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pypcapkit-1.5.0b10-cp311-none-any.whl

Download URL pypcapkit-1.5.0b10-cp311-none-any.whl
Size 1.8 MB
Tags CPython 3.11
SHA-256 checksum
How to use checksums
1709c06b98bec8fed07a756fe8930250554c153455b1ac45969182aa5183003b
BLAKE2b-256 checksum
How to use checksums
a1c53ff2d07df87220678b4c5f9d65a5ad9b9318bf327e3ceb15ff13d4b1ef40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pypcapkit-1.5.0b10-cp310-none-any.whl

Download URL pypcapkit-1.5.0b10-cp310-none-any.whl
Size 1.8 MB
Tags CPython 3.10
SHA-256 checksum
How to use checksums
13cc2470e64ceada613758c91b54a0fd71303fe825b4e7dfa0a2c28eae0d6933
BLAKE2b-256 checksum
How to use checksums
f7f5ef2e35629d0c28e5898a21a29c0af7e432ba63ba774ee62e862bebbff659
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.5.0b10 This release

9 release files

1.4.1

8 release files

1.4.0

8 release files

1.3.5

8 release files

1.3.4

9 release files

1.3.3

7 release files

1.3.1

6 release files

1.3.0

7 release files

1.2.2

6 release files

1.2.1

7 release files

1.2.0

7 release files

1.1.1

7 release files

1.1.0

7 release files

1.0.3

6 release files

1.0.2

5 release files

1.0.1

2 release files

1.0.0

2 release files

0.16.2

1 release file

0.16.1

1 release file

0.16.0

1 release file

0.15.5

2 release files

0.15.4

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.12.9

3 release files

0.12.8

3 release files

0.12.7

3 release files

0.12.6

3 release files

0.12.5

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page