Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/allfro/pcappy
A pure Python libpcap wrapper!
https://github.com/allfro/pcappy
Last synced: 25 days ago
JSON representation
A pure Python libpcap wrapper!
- Host: GitHub
- URL: https://github.com/allfro/pcappy
- Owner: allfro
- Created: 2012-10-12T18:57:37.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2015-06-12T20:00:45.000Z (over 9 years ago)
- Last Synced: 2024-07-16T07:39:51.095Z (5 months ago)
- Language: Python
- Size: 199 KB
- Stars: 52
- Watchers: 6
- Forks: 15
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-network-stuff - **48**星
README
# PcapPy
PcapPy is a Python wrapper for libpcap purely written in Python. That's right! No need to compile anything using ugly
wrapper frameworks like Cython, Pyrex or SWIG (yuck!). Using the pure power of ctypes, PcapPy will give you that warm
fuzzy feeling at night.# Installation
Simple:
`sudo easy_install pcappy`
Winning!
# Example
Sure why not:
```python
#!/usr/bin/env pythonfrom pcappy import PcapPyOffline, open_offline
from sys import argvif not argv[1:]:
print 'usage: %s ' % argv[0]
exit(-1)# Open the file
p = open_offline(argv[1])# or this instead: p = PcapPyOffline(argv[1])
# Parse only HTTP traffic
p.filter = 'tcp and port 80'def gotpacket(d, hdr, data):
print d, hdr, repr(data)
d['count'] += 1# pass in some random parameters to loop()'s callback. Can be any python object you want!
d = {'label': 'HTTP', 'count': 0}# Parameters are count, callback, user params
p.loop(-1, gotpacket, d)
```Now run it:
`python example.py dump.pcap`
Et Voila! You're off to the races!
# Questions?
We've got answers: drop me a line @ndouba or < ndouba at gmail dot com > on twitter!