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.7 to 3.10 without letting a failure block anything; 3.7 cannot import the package yet.

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.tcp)
2

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.0b13

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.0b13
File Size Uploaded
pypcapkit-1.5.0b13.tar.gz 4.0 MB Details

Built distributions (wheels)

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

Total release size: 18.6 MB

Release files / pypcapkit-1.5.0b13.tar.gz

Download URL pypcapkit-1.5.0b13.tar.gz
Size 4.0 MB
Tags Source
SHA-256 checksum
How to use checksums
ea49441946c1da1b3a4c557cfd502399fe5b75f949d1afcc499f1e224aafbbb3
BLAKE2b-256 checksum
How to use checksums
b44defbb648c1be745d525be269f548238724363a23e9f4eeef9ecaa054174da
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.0b13-pp311-none-any.whl

Download URL pypcapkit-1.5.0b13-pp311-none-any.whl
Size 1.8 MB
Tags PyPy 3.11
SHA-256 checksum
How to use checksums
c5e32061ad5895e60a62e01b906784b6ecc9d5a8b8d29c124a199b4d227c3c79
BLAKE2b-256 checksum
How to use checksums
6daf2448fdfffa4951e1db0d7dde6e51ae87b8bc9e58a05d0441dfb66c227747
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.0b13-pp310-none-any.whl

Download URL pypcapkit-1.5.0b13-pp310-none-any.whl
Size 1.8 MB
Tags PyPy 3.10
SHA-256 checksum
How to use checksums
57607b92d5944c0ca0fcc93d032315c377d43843ac445b890c6cd56912e058bb
BLAKE2b-256 checksum
How to use checksums
e52057054546963ef7283104fc75c07fbabe98d0d083399e2c2f7c9581bc725f
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.0b13-cp315-none-any.whl

Download URL pypcapkit-1.5.0b13-cp315-none-any.whl
Size 1.8 MB
Tags CPython 3.15
SHA-256 checksum
How to use checksums
872e019883dce918368a84ed251665945ef2a0ed3f19eddff12d52207904c6f5
BLAKE2b-256 checksum
How to use checksums
3b4de92a8bc3b79a29eaa095b2e03adcb45fdd5a678e08c93fe86dcd4d5585dd
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.0b13-cp314-none-any.whl

Download URL pypcapkit-1.5.0b13-cp314-none-any.whl
Size 1.8 MB
Tags CPython 3.14
SHA-256 checksum
How to use checksums
fb8c62178e8375210372063a5198726d5ab89173cd7a4dd499b4ffbe1e3f3590
BLAKE2b-256 checksum
How to use checksums
742a92ab3ada3b1ff9db3bd07cee749c1697e188f62eb8965734da5952eb94b7
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.0b13-cp313-none-any.whl

Download URL pypcapkit-1.5.0b13-cp313-none-any.whl
Size 1.8 MB
Tags CPython 3.13
SHA-256 checksum
How to use checksums
a7d41605e66eb59f52f4a197e06961935e7ef8441e0c74d25b497c9c17d3228b
BLAKE2b-256 checksum
How to use checksums
eca1a0bf4a1956428eb75039947b3a8e00a6910c3f9e23fe433c0ac845f95865
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.0b13-cp312-none-any.whl

Download URL pypcapkit-1.5.0b13-cp312-none-any.whl
Size 1.8 MB
Tags CPython 3.12
SHA-256 checksum
How to use checksums
da1fc8818d4298c878d823b1928a9ab272f75c862c5217a9ac55d3e46195b744
BLAKE2b-256 checksum
How to use checksums
00b02745b071da6cf00fac3ef88ffa0a2253317a9e149f3f1905214a604fb7f3
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.0b13-cp311-none-any.whl

Download URL pypcapkit-1.5.0b13-cp311-none-any.whl
Size 1.8 MB
Tags CPython 3.11
SHA-256 checksum
How to use checksums
de388c3af56eb99097a495fc5f1a03f65ef491d70a14d3ab18ecfe650de98213
BLAKE2b-256 checksum
How to use checksums
19a1e88fbc2250079be1b56a23a9ec6b9362316a9eda45cd2426c8b6a37432fe
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.0b13-cp310-none-any.whl

Download URL pypcapkit-1.5.0b13-cp310-none-any.whl
Size 1.8 MB
Tags CPython 3.10
SHA-256 checksum
How to use checksums
b4e2d2ded957ebb9136aa8f9c2e5297494f0d75c3228f0f3bad3bb64f7a476a4
BLAKE2b-256 checksum
How to use checksums
b660de85da500964ad9da1ebdcba67f1f0f8cf7eded4029a440db57b73bcfc8f
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.0b13 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