Pcapy模块则是基于libpcap的Python接口。pcapy在github上的项目地址为:https://github.com/CoreSecurity/pcapy。 下面我们来看看如何使用pcapy实现数据包的捕获。 #! ) 上面的代码很简单,首先导入pcapy模块,之后定义了两个变量,dev为要监听的网卡, filter是BPF 格式的过滤表达式,这里我们只捕获http协议的数据。 最后三行代码是我们使用pcapy进行数据捕获的具体应用。 ,该方法返回一个 pcapy对象。
# import pcapy, sys from pcapy import findalldevs, open_live from impacket.ImpactDecoder import EthDecoder Here we observe clearly the necessary import, in particular pcapy and impacket. import pcapy, sys, string from pcapy import open_offline from impacket.ImpactDecoder import EthDecoder
4.2.1 使用pcapy保存和读取数据 前文我们使用 pcapy的open_live方法,可以获取pcapy的一个实例对象,通过该对象的dump_open 方法可以获取一个dump对象,通过dump对象可以保存数据包到本地磁盘 在上面的带码中,我们使用pcapy的open_offline方法从本地打开一个pcap文件,之后就可以 循环处理每一个数据包了。运行结果如下: ?
mac就遇到此类错误: importError: No module named pcapy1 那就安装pcapy模块,遇到同样的权限问题,使用: pip install pcapy --user -U1
-I "C:\sulley_build\WpdPack\Include" -L "C:\sulley_build\WpdPack\Lib" running build_ext building 'pcapy C:\sulley_build\pcapy-0.10.5>python setup.py install running install running build running build_ext creating C:\python27\share creating C:\python27\share\doc creating C:\python27\share\doc\pcapy copying README -> C:\python27\share\doc\pcapy copying LICENSE -> C:\python27\share\doc\pcapy copying pcapy.html -> C:\python27\share\doc\pcapy running install_egg_info Writing C:\python27\Lib\site-packages\pcapy-
在http://pypi.python.org/pypi/pylibpcap/0.6.2 在http://pypi.python.org/pypi/pcapy/0.10.2 pypcap http://
2、pypcap,pcapy和pylibpcap:几个不同的libpcap捆绑Python库 3、libdnet:低级别的网络路由器,可用于接口查找和以太网帧转发 4、dpkt:快速、轻量级的数据包创建
python3-dev python3-pip python-is-python3 libpcap-dev build-essential procps schedtool sudo pip3 install pcapy-ng
install 下载并安装 WinPcap (https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe) 下载 WinPcap Dev Kit(WpdPack) PCapy 下载 https://github.com/CoreSecurity/pcapy 并解压 编译(需指定WpdPack中的include目录及lib目录) C:\sulley_build\pcapy-0.10.5 -c mingw32 -I "C:\sulley_build\WpdPack\Include" -L "C:\sulley_build\WpdPack\Lib" 安装 C:\sulley_build\pcapy
sniff.py 使用 pcapy 库的简单数据包嗅探器。 sniffer.py 使用原始套接字的简单数据包嗅探器。
lpypcap、Pcapy和pylibpcap:配合libpcap一起使用的数据包捕获模块 llibdnet:底层网络工具,含接口查询和以太网帧传输等功能 ldpkt:可以快速简单地创建或解析数据包 lImpacket
import struct import threading import time import sys import random import pcap import dpkt import pcapy
可用作交互式包处理程序或单独作为一个库 pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库 libdnet: 低级网络路由,包括端口查看和以太网帧的转发
l pypcap 、 Pcapy 和 pylibpcap :配合libpcap一起使用的数据包捕获模块 l libdnet :底层网络工具,含接口查询和以太网帧传输等功能 l dpkt :可以快速简单地创建或解析数据包
sniff.py:简单的数据包嗅探器,使用pcapy库来监听在指定接口上传输的包。 sniffer.py:简单的数据包嗅探器,它使用原始套接字来侦听与指定协议相对应的传输中的数据包。
打印TTL时,使用scapy模块报错了(我是mac,通过pip install pcapy和编译安装https://github.com/dugsong/libdnet.git 之后可以运行了,但是在下面的章节中
Network Scapy, Scapy3k: 发送,嗅探和剖析并伪造网络数据包,可以做交互式应用或单纯的作为库来使用 pypcap, Pcapy and pylibpcap: 几个不同的libpcap
Network Scapy, Scapy3k: 发送,嗅探和剖析并伪造网络数据包,可以做交互式应用或单纯的作为库来使用 pypcap, Pcapy and pylibpcap: 几个不同的libpcap
Usable interactively or as a library pypcap, Pcapy and pylibpcap: several different Python bindings for
举个例子,pypcap就已经基本淘汰了pcapy了。 谈到资源,Ruby还有很长的路要走,所以提到双方都很强的时候,麻烦不要太并列化了。