Skip to main content

Cython libpcap

Project description Documentation Status

Cython libpcap, read/write/merge/capture


  • Read pcap file
  • Write pcap file
  • Merge pcap file
  • Multi-file quick merge
  • Get first iface
  • Get iface list
  • Send raw packet
  • Capture data


To install python-libpcap, run this command in your terminal:

$ sudo apt-get install libpcap-dev
$ pip3 install Cython
$ pip3 install python-libpcap



# Multi-file quick merge
$ mpcap -i pcap/ -o pcap.pcap port 502

# Capture data packet
$ sudo capture -i enp2s0 -v

Read pcap:

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:

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' \

wpcap(buf, "pcap.pcap")
wpcap([buf, buf], "pcap.pcap)
from pylibpcap import OpenPcap

with OpenPcap("pcap.pcap", "a") as f:

Merge pcap:

from pylibpcap.pcap import mpcap

mpcap("demo.pcap", "demo2.pcap")

mpcap("pcap/", "output.pcap", "port 502")

Get first iface:

from pylibpcap.pcap import get_first_iface


Get iface list:

from pylibpcap import get_iface_list


Send raw packet:

from pylibpcap import send_packet

send_packet("enp2s0", b"")

Capture data:

from pylibpcap.pcap import sniff

for plen, t, buf in sniff("enp2s0", filters="port 53", count=3, promisc=1, out_file="pcap.pcap"):
    print("[+]: Payload len=", plen)
    print("[+]: Time", t)
    print("[+]: Payload", buf)


This package was created with Cookiecutter and the caizhengxin/cookiecutter-package project template.

Project details

Download files

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

Files for python-libpcap, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size python-libpcap-0.2.1.tar.gz (62.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page