Python Scapy工具-sniff函数

本文介绍了Scapy库在Python中的强大功能,包括网络嗅探、数据包处理和结构化数据提取。重点讲解了`sniff`函数的参数,如`filter`用于筛选报文和`iface`选择网卡,以及如何安装和配置。适合网络开发者进行网络分析和自动化任务。
摘要由CSDN通过智能技术生成

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:指定抓包的网卡,不指定则代表所有网卡
  1. filter参数
    其语法具体可参考:https://blog.csdn.net/qwertyupoiuytr/article/details/54670477

  2. iface参数
    获取该参数的方法:
    1)通过cmd中输入 ipconfig /all获取对应网卡的描述

    2)通过show_interfaces()函数进行查询
    代码为:

import scapy
from scapy.all import *
#显示网卡信息
show_interfaces()

结果如图所示:

  • 9
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值