==============
python-libpcap
==============
.. image:: https://img.shields.io/pypi/v/python-libpcap.svg
:target: https://pypi.python.org/pypi/python-libpcap
.. image:: https://img.shields.io/pypi/pyversions/python-libpcap.svg
:target: https://pypi/python.org/pypi/python-libpcap
.. image:: https://api.travis-ci.com/caizhengxin/python-libpcap.svg?branch=master
:target: https://travis-ci.org/JanKinCai/python-libpcap
.. image:: https://img.shields.io/pypi/dm/python-libpcap.svg
:target: https://pypi/python.org/pypi/python-libpcap
.. image:: https://readthedocs.org/projects/python-libpcap/badge/?version=latest
:target: https://python-libpcap.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/github/languages/code-size/caizhengxin/python-libpcap
:target: https://github.com/caizhengxin/python-libpcap
.. image:: https://img.shields.io/pypi/l/python-libpcap
:target: https://github.com/caizhengxin/python-libpcap/blob/master/LICENSE
Cython libpcap, read/write/merge/capture
* GIthub repo: https://github.com/caizhengxin/python-libpcap
* Documentation: https://python-libpcap.readthedocs.io
* Free software: BSD lincense
Features
--------
* Read pcap file
* Write pcap file
* Merge pcap file
* Multi-file quick merge
* Get first iface
* Get iface list
* Send raw packet
* Capture data
Installation
------------
To install python-libpcap, run this command in your terminal:
.. code-block:: console
$ sudo apt-get install libpcap-dev
$ pip3 install python-libpcap
Usage
-----
Command:
.. code-block:: console
# Multi-file quick merge
$ libpcap-merge -i test.pcap -o pcap.pcap port 502
$ libpcap-merge -i pcap/ -o pcap.pcap port 502
# Capture data packet
$ sudo libpcap-capture -i enp0s3 -v -p port 22
$ sudo libpcap-capture -i enp0s3 -o pcap.pcap port 22
# Write packet
$ libpcap-write --output pcap.pcap ac64175ffa41000ec6c9157e08004500004b8a1e400080060000c0a80002c0a80001c794006618e119b56ef0831d5018faf081910000030000231ee00000001d00c1020600c20f53494d415449432d524f4f542d4553c0010a
# Read packet
$ libpcap-read -i test.pcap -v -p port 502
Read pcap:
.. code-block:: python
from pylibpcap.pcap import rpcap
for len, t, pkt in rpcap("tests/dns.pcap"):
print("Buf length:", len)
print("Time:", t)
print("Buf:", pkt)
Write pcap:
.. code-block:: python
from pylibpcap import wpcap
buf = b'\x00\xc0\x9f2A\x8c\x00\xe0\x18\xb1\x0c\xad\x08\x00E\x00\x008' \
b'\x00\x00@\x00@\x11eG\xc0\xa8\xaa\x08\xc0\xa8\xaa\x14\x80\x1b' \
b'\x005\x00$\x85\xed\x102\x01\x00\x00\x01\x00\x00\x00\x00\x00' \
b'\x00\x06google\x03com\x00\x00\x10\x00\x01'
wpcap(buf, "pcap.pcap")
wpcap([buf, buf], "pcap.pcap)
.. code-block:: python
from pylibpcap import OpenPcap
with OpenPcap("pcap.pcap", "a") as f:
f.write(buf)
Merge pcap:
.. code-block:: python
from pylibpcap.pcap import mpcap
mpcap("demo.pcap", "demo2.pcap")
mpcap("pcap/", "output.pcap", "port 502")
Get first iface:
.. code-block:: python
from pylibpcap import get_first_iface
print(get_first_iface())
Get iface list:
.. code:: python
from pylibpcap import get_iface_list
print(get_iface_list())
Send raw packet:
.. code:: python
from pylibpcap import send_packet
send_packet("enp2s0", b"")
Capture data:
.. code-block:: python
from pylibpcap.pcap import sniff
for plen, t, buf in sniff("enp2s0", filters="port 53", count=-1, promisc=1, out_file="pcap.pcap"):
print("[+]: Payload len=", plen)
print("[+]: Time", t)
print("[+]: Payload", buf)
.. code-block:: python
from pylibpcap.base import Sniff
sniffobj = Sniff("enp2s0", filters="port 53", count=-1, promisc=1, out_file="pcap.pcap")
for plen, t, buf in sniffobj.capture():
print("[+]: Payload len=", plen)
print("[+]: Time", t)
print("[+]: Payload", buf)
stats = sniffobj.stats()
print(stats.capture_cnt, " packets captured")
print(stats.ps_recv, " packets received by filter")
print(stats.ps_drop, " packets dropped by kernel")
print(stats.ps_ifdrop, " packets dropped by iface")
Credits
-------
This package was created with Cookiecutter_ and the `caizhengxin/cookiecutter-package`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`caizhengxin/cookiecutter-package`: https://github.com/caizhengxin/cookiecutter-package
Raw data
{
"_id": null,
"home_page": "https://github.com/caizhengxin/python-libpcap",
"name": "python-libpcap",
"maintainer": "JanKinCai",
"docs_url": null,
"requires_python": "",
"maintainer_email": "jankincai12@gmail.com",
"keywords": "python-libpcap,pylibpcap,libpcap,pcap,pcapngpython,libpcap-python,python-pcapng",
"author": "JanKinCai",
"author_email": "jankincai12@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/45/f3/fa08fdee1cb7bf2a631b28ee2ac107beb535fe54f37b381db685dba47c51/python-libpcap-0.4.2.tar.gz",
"platform": "Linux",
"description": "==============\npython-libpcap\n==============\n\n.. image:: https://img.shields.io/pypi/v/python-libpcap.svg\n :target: https://pypi.python.org/pypi/python-libpcap\n\n.. image:: https://img.shields.io/pypi/pyversions/python-libpcap.svg\n :target: https://pypi/python.org/pypi/python-libpcap\n\n.. image:: https://api.travis-ci.com/caizhengxin/python-libpcap.svg?branch=master\n :target: https://travis-ci.org/JanKinCai/python-libpcap\n\n.. image:: https://img.shields.io/pypi/dm/python-libpcap.svg\n :target: https://pypi/python.org/pypi/python-libpcap\n\n.. image:: https://readthedocs.org/projects/python-libpcap/badge/?version=latest\n :target: https://python-libpcap.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/github/languages/code-size/caizhengxin/python-libpcap\n :target: https://github.com/caizhengxin/python-libpcap\n\n.. image:: https://img.shields.io/pypi/l/python-libpcap\n :target: https://github.com/caizhengxin/python-libpcap/blob/master/LICENSE\n\nCython libpcap, read/write/merge/capture\n\n* GIthub repo: https://github.com/caizhengxin/python-libpcap\n* Documentation: https://python-libpcap.readthedocs.io\n* Free software: BSD lincense\n\nFeatures\n--------\n\n* Read pcap file\n* Write pcap file\n* Merge pcap file\n* Multi-file quick merge\n* Get first iface\n* Get iface list\n* Send raw packet\n* Capture data\n\nInstallation\n------------\n\nTo install python-libpcap, run this command in your terminal:\n\n.. code-block:: console\n\n $ sudo apt-get install libpcap-dev\n $ pip3 install python-libpcap\n\nUsage\n-----\n\nCommand:\n\n.. code-block:: console\n\n # Multi-file quick merge\n $ libpcap-merge -i test.pcap -o pcap.pcap port 502\n $ libpcap-merge -i pcap/ -o pcap.pcap port 502\n\n # Capture data packet\n $ sudo libpcap-capture -i enp0s3 -v -p port 22\n $ sudo libpcap-capture -i enp0s3 -o pcap.pcap port 22\n\n # Write packet\n $ libpcap-write --output pcap.pcap ac64175ffa41000ec6c9157e08004500004b8a1e400080060000c0a80002c0a80001c794006618e119b56ef0831d5018faf081910000030000231ee00000001d00c1020600c20f53494d415449432d524f4f542d4553c0010a\n\n # Read packet\n $ libpcap-read -i test.pcap -v -p port 502\n\nRead pcap:\n\n.. code-block:: python\n\n from pylibpcap.pcap import rpcap\n\n\n for len, t, pkt in rpcap(\"tests/dns.pcap\"):\n print(\"Buf length:\", len)\n print(\"Time:\", t)\n print(\"Buf:\", pkt)\n\nWrite pcap:\n\n.. code-block:: python\n\n from pylibpcap import wpcap\n\n\n buf = b'\\x00\\xc0\\x9f2A\\x8c\\x00\\xe0\\x18\\xb1\\x0c\\xad\\x08\\x00E\\x00\\x008' \\\n b'\\x00\\x00@\\x00@\\x11eG\\xc0\\xa8\\xaa\\x08\\xc0\\xa8\\xaa\\x14\\x80\\x1b' \\\n b'\\x005\\x00$\\x85\\xed\\x102\\x01\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00' \\\n b'\\x00\\x06google\\x03com\\x00\\x00\\x10\\x00\\x01'\n\n\n wpcap(buf, \"pcap.pcap\")\n wpcap([buf, buf], \"pcap.pcap)\n\n.. code-block:: python\n\n from pylibpcap import OpenPcap\n\n\n with OpenPcap(\"pcap.pcap\", \"a\") as f:\n f.write(buf)\n\nMerge pcap:\n\n.. code-block:: python\n\n from pylibpcap.pcap import mpcap\n\n\n mpcap(\"demo.pcap\", \"demo2.pcap\")\n\n mpcap(\"pcap/\", \"output.pcap\", \"port 502\")\n\nGet first iface:\n\n.. code-block:: python\n\n from pylibpcap import get_first_iface\n\n print(get_first_iface())\n\nGet iface list:\n\n.. code:: python\n\n from pylibpcap import get_iface_list\n\n print(get_iface_list())\n\nSend raw packet:\n\n.. code:: python\n\n from pylibpcap import send_packet\n\n send_packet(\"enp2s0\", b\"\")\n\nCapture data:\n\n.. code-block:: python\n\n from pylibpcap.pcap import sniff\n\n\n for plen, t, buf in sniff(\"enp2s0\", filters=\"port 53\", count=-1, promisc=1, out_file=\"pcap.pcap\"):\n print(\"[+]: Payload len=\", plen)\n print(\"[+]: Time\", t)\n print(\"[+]: Payload\", buf)\n\n.. code-block:: python\n\n from pylibpcap.base import Sniff\n\n\n sniffobj = Sniff(\"enp2s0\", filters=\"port 53\", count=-1, promisc=1, out_file=\"pcap.pcap\")\n\n for plen, t, buf in sniffobj.capture():\n print(\"[+]: Payload len=\", plen)\n print(\"[+]: Time\", t)\n print(\"[+]: Payload\", buf)\n\n stats = sniffobj.stats()\n print(stats.capture_cnt, \" packets captured\")\n print(stats.ps_recv, \" packets received by filter\")\n print(stats.ps_drop, \" packets dropped by kernel\")\n print(stats.ps_ifdrop, \" packets dropped by iface\")\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `caizhengxin/cookiecutter-package`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`caizhengxin/cookiecutter-package`: https://github.com/caizhengxin/cookiecutter-package\n\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Cython libpcap",
"version": "0.4.2",
"project_urls": {
"Documentation": "https://python-libpcap.readthedocs.io",
"Download": "https://github.com/caizhengxin/python-libpcap.git",
"Homepage": "https://github.com/caizhengxin/python-libpcap",
"Source Code": "https://github.com/caizhengxin/python-libpcap"
},
"split_keywords": [
"python-libpcap",
"pylibpcap",
"libpcap",
"pcap",
"pcapngpython",
"libpcap-python",
"python-pcapng"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "45f3fa08fdee1cb7bf2a631b28ee2ac107beb535fe54f37b381db685dba47c51",
"md5": "f2ee359c8818e1cf151a81a9dfb6e34d",
"sha256": "f411082852b2d73dc724d44d7baf87c6b13cf19947a2e6aa98d1be09b1951aae"
},
"downloads": -1,
"filename": "python-libpcap-0.4.2.tar.gz",
"has_sig": false,
"md5_digest": "f2ee359c8818e1cf151a81a9dfb6e34d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 81231,
"upload_time": "2023-09-14T01:21:09",
"upload_time_iso_8601": "2023-09-14T01:21:09.204613Z",
"url": "https://files.pythonhosted.org/packages/45/f3/fa08fdee1cb7bf2a631b28ee2ac107beb535fe54f37b381db685dba47c51/python-libpcap-0.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-14 01:21:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "caizhengxin",
"github_project": "python-libpcap",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [],
"tox": true,
"lcname": "python-libpcap"
}