我是靠谱客的博主 称心大山,最近开发中收集的这篇文章主要介绍Python Scapy工具-sniff函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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()

结果如图所示:

最后

以上就是称心大山为你收集整理的Python Scapy工具-sniff函数的全部内容,希望文章能够帮你解决Python Scapy工具-sniff函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部