概述
Scapy 是适用于 Python 的一个快速、高层次的屏幕抓取和 web 抓取框架,用于抓取 web站点并从页面中提取结构化的数据。
Scapy可以轻松地处理扫描(Scanning)、路由跟踪(Tracerouting)、探测(Probing)、单元测试(Unit Tests)、攻击(Attacks)和发现网络(Network Discorvery)之类的传统任务。
Scapy的安装如下:
通过cmd命令:pip install scapy 进行安装
注意:运行前要确定是否已安装Npcap或WinPcap,否则运行会出现如下报错:
Warning:No libpcap provider available ! pcap won't be used
sniff函数及其参数如下:
sniff(count=0,
store=1,
offline=None,
prn=None,
filter=None,
L2socket=None,
timeout=None,
opened_socket=None,
stop_filter=None,
iface=None)
其中,各参数的含义为:
count:指定最多嗅探多少个符合要求的报文,设置为0时则一直捕获
store:指定保存抓取的数据包或者丢弃,1为保存,0为丢弃
offline:从pcap文件中读取数据包,而不进行嗅探,默认为None
prn:为每个数据包定义一个回调函数,回调函数会在捕获到符合 filter 的报文时被调用,通常使用 lambda 表达式来编写
filter:用来筛选抓取的信息,其用法与常见抓包软件WireShark 等相同,遵循 BPF 语法
L2socket:使用给定的L2socket
timeout:在给定的事件后停止嗅探,默认为None
opened_socket:对指定的对象使用.recv进行读取
stop_filter:定义一个函数,决定在抓到指定的数据之后停止
iface:指定抓包的网卡,不指定则代表所有网卡
-
filter参数
其语法具体可参考:https://blog.csdn.net/qwertyupoiuytr/article/details/54670477 -
iface参数
获取该参数的方法:
1)通过cmd中输入 ipconfig /all获取对应网卡的描述
2)通过show_interfaces()函数进行查询
代码为:
import scapy
from scapy.all import *
#显示网卡信息
show_interfaces()
结果如图所示:
最后
以上就是称心大山为你收集整理的Python Scapy工具-sniff函数的全部内容,希望文章能够帮你解决Python Scapy工具-sniff函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复