Skip to main content

Python wrapper for the pcap library.

Project description

pcap-ct

Python wrapper for the pcap library.

Overview

Python pcap-ct package is a simplified object-oriented Python wrapper for libpcap C library - the current tcpdump.org version, and the WinPcap port for Windows..

pcap-ct is a pure Python package, based on the low-level libcap package.
It is fully compliant implementation of the original PyPCAP 1.2.3 API (with some minor improvements and bug fixes) by implementing whole its functionality in a clean Python instead of Cython and C.

PyPI record.

Documentation.

About original PyPCAP:

Borrowed from the original website:

PyPCAP

This is a simplified object-oriented Python wrapper for libpcap - the current tcpdump.org version, and the WinPcap port for Windows.

Example use #1:

>>> import pcap
>>> sniffer = pcap.pcap(name=None, promisc=True, immediate=True, timeout_ms=50)
>>> addr = lambda pkt, offset: '.'.join(str(ord(pkt[i])) for i in range(offset, offset + 4))
>>> for ts, pkt in sniffer:
...     print('%d\tSRC %-16s\tDST %-16s' % (ts, addr(pkt, sniffer.dloff + 12), addr(pkt, sniffer.dloff + 16)))
...

Example use #2:

Listing Interfaces

>>> import pcap
>>> print ("Interfaces:\n" + '\n'.join(pcap.findalldevs()))

Windows notes

WinPcap has compatibility issues with Windows 10, therefore it’s recommended to use Npcap (Nmap’s packet sniffing library for Windows, based on the WinPcap/Libpcap libraries, but with improved speed, portability, security, and efficiency). Please enable WinPcap API-compatible mode during the library installation.

Installation

Prerequisites:

To install run:

python -m pip install --upgrade pcap-ct

Development

Prerequisites:

  • Development is strictly based on tox. To install it run:

    python -m pip install --upgrade tox

Visit development page.

Installation from sources:

clone the sources:

git clone https://github.com/karpierz/pcap-ct.git pcap-ct

and run:

python -m pip install ./pcap-ct

or on development mode:

python -m pip install --editable ./pcap-ct

License

Copyright (c) 2016-2022, Adam Karpierz
Licensed under the BSD license
Please refer to the accompanying LICENSE file.

Authors

Changelog

1.3.0b1 (2022-09-10)

  • Support for libpcap.set_buffer_size() via ‘buffer_size’
    (optional) pcap constructor’s parameter.
  • Added ‘datalink’ optional parameter to pcap constructor
    (thank you very much easy-easy@Github for the patch!).
  • Tox configuration has been moved to pyproject.toml

1.2.3b14 (2022-08-30)

  • Update for libpcap>=1.11.0b6

  • Add support for Python 3.10 and 3.11

  • Add preliminary support for PyPy 3.7, 3.8 and 3.9

  • Setup update (currently based mainly on pyproject.toml).

1.2.3b12 (2022-01-19)

  • Fixed a bug in pcap.sendpacket()
    (thank you very much EvanSonnemans@Github
    for report and bugfix!).

1.2.3b11 (2022-01-10)

  • Update for libpcap>=1.11.0b3

  • Drop support for Python 3.6.

  • Copyright year update.

  • Setup update.

1.2.3b9 (2021-11-10)

  • Update for libpcap>=1.11.0b2

  • Copyright year update.

  • Fixes for Linux.

  • Setup update.

1.2.3b5 (2020-10-18)

  • Add support for Python 3.9.

  • Drop support for Python 3.5.

  • Fixed a critical setup of ‘libpcap’ package
    (thank you very much msrst@Github!).
  • General update and cleanup.

  • Fixed docs setup.

1.2.3b1 (2019-11-14)

  • Update for PyPCAP 1.2.3.

  • Add support for Python 3.8.

  • Drop support for Python 2.

  • Drop support for Python 3.4.

  • Update required setuptools version.

  • Setup improvements and cleanup.

1.2.0b5 (2018-11-08)

  • Update required setuptools version.

  • Minor setup and tests improvements.

1.2.0b4 (2018-02-26)

  • Improve and simplify setup and packaging.

1.2.0b3 (2018-02-01)

  • Update for PyPCAP 1.2.0.

1.2.0b2 (2017-10-10)

  • Minor changes.

1.2.0b1 (2017-10-05)

  • Next beta release.

  • Update for PyPCAP 1.2.0rc.

1.1.6b4 (2017-10-04)

  • Fourth beta release.

1.1.6b3 (2017-08-28)

  • Third beta release.

1.1.6b2 (2017-08-28)

  • Second beta release.

1.1.6b1 (2017-08-27)

  • First beta release.

1.1.6a15 (2017-08-25)

  • Next alpha release.

1.1.6a0 (2017-06-10)

  • First alpha release.

0.0.1 (2016-09-23)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pcap-ct-1.3.0b1.zip (33.4 kB view details)

Uploaded Source

Built Distribution

pcap_ct-1.3.0b1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file pcap-ct-1.3.0b1.zip.

File metadata

  • Download URL: pcap-ct-1.3.0b1.zip
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for pcap-ct-1.3.0b1.zip
Algorithm Hash digest
SHA256 99c080aaabc1e06dc705e354bced254a7c0482ccb345aacd868e90b85743815d
MD5 c192769f817e512be7a93a563cca5ab8
BLAKE2b-256 9dca0b42115401ea87e83b066126bbcd3a2eb5917575632607d7830fbf0c0780

See more details on using hashes here.

File details

Details for the file pcap_ct-1.3.0b1-py3-none-any.whl.

File metadata

  • Download URL: pcap_ct-1.3.0b1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for pcap_ct-1.3.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 b9656fc905fe57a98dc030a36dc1e7044846831d459d2aab74b5997d62e11cf8
MD5 4da1ec30f356d99debc662fa5177fb46
BLAKE2b-256 93bb6635f6d4f14c683cceb99c87e91a90d22ae67dfac98aece227292a2e0e4b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page