发布时间:2019-09-23 17:06:55编辑:auto阅读(2943)
Python下的网络抓包库pylibpcap、pypcap、pycap这些库其实这些都是libpcap的Python绑定实现,libpcap才是真正的核心。
在http://pypi.python.org/pypi/pylibpcap/0.6.2
在http://pypi.python.org/pypi/pcapy/0.10.2
pypcap
http://code.google.com/p/pypcap/
http://www.monkey.org/~dugsong/pypcap/
目前pypcap和pylibpcap比较流行,特别说一下pypcap在Linux上的编译安装时,首先用python setup.py config配置编译环境,然后使用python setup.py build或install进行编译安装。
典型的范例(抓取80端口TCP包):
import pcap
import dpkt
pc=pcap.pcap()
pc.setfilter('tcp port 80')
for ptime,pdata in pc:
print ptime,pdata
p=dpkt.ethernet.Ethernet(pdata)
if p.data.__class__.__name__=='IP':
ip='%d.%d.%d.%d'%tuple(map(ord,list(p.data.dst)))
if p.data.data.__class__.__name__=='TCP':
if p.data.data.dport==80:
print p.data.data.data
------------------------------------------------------------------------------------------------------------------------------------------
在windows下,先安装winpcap和pcap import pcap import binascii
上一篇: python安装-ubuntu之第一篇
下一篇: Python中正则表达式的用法
48611
47603
38398
35619
30068
26793
25795
20684
20426
18825
111°
189°
224°
246°
242°
251°
285°
335°
461°
444°