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)
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.0b11

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

Built distributions (wheels)

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

Total release size: 18.3 MB

Release files / pypcapkit-1.5.0b11.tar.gz

Download URL pypcapkit-1.5.0b11.tar.gz
Size 3.8 MB
Tags Source
SHA-256 checksum
How to use checksums
ee85792a7c451491fc1d795b96987dab4b216e88e7c3e520b3a6559a55384d72
BLAKE2b-256 checksum
How to use checksums
251f7fac93e0c76c221c1fc6e0cd64203e997ce9defbe2f8d876aaba471c7314
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.0b11-pp311-none-any.whl

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

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

Download URL pypcapkit-1.5.0b11-cp315-none-any.whl
Size 1.8 MB
Tags CPython 3.15
SHA-256 checksum
How to use checksums
94bda4c2fe01044357e0534934ba1d25eb5240dd550e8b83d6a72f87f5aa4d87
BLAKE2b-256 checksum
How to use checksums
173dff1a2ebac58105ba28d803ec7a5289741e969fc932e9cc085709c124de8c
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.0b11-cp314-none-any.whl

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

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

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

Download URL pypcapkit-1.5.0b11-cp311-none-any.whl
Size 1.8 MB
Tags CPython 3.11
SHA-256 checksum
How to use checksums
111cc16f19e816737b86716e6b3ba346d0ab91679708137f71407e5b98dd3d10
BLAKE2b-256 checksum
How to use checksums
9b565c32eb34ed7493e808cc351b045c5fef34385252b0beb2aa16af9bffdf40
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.0b11-cp310-none-any.whl

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