Python中Scapy网络嗅探模块的使用

本文介绍了Python中的Scapy库,用于网络嗅探和伪造数据包。内容包括Scapy的安装、发包、收包及抓包操作,如发送IP包、三层和二层的发包和收包,以及如何使用sniff()函数进行抓包并过滤特定数据包。Scapy支持丰富的网络协议,可实现灵活的网络检测和分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Scapy

scapy的安装和使用 

发包

发包和收包 

抓包 

将抓取到的数据包保存

查看抓取到的数据包 

格式化输出

过滤抓包


Scapy

scapy是python中一个可用于网络嗅探的非常强大的第三方库,可以用它来做 packet 嗅探和伪造 packet。 scapy已经在内部实现了大量的网络协议。如DNS、ARP、IP、TCP、UDP等等,可以用它来编写非常灵活实用的工具。

换言之,Scapy 是一个强大的操纵报文的交互程序。它可以伪造或者解析多种协议的报文,还具有发送、捕获、匹配请求和响应这些报文以及更多的功能。Scapy 可以轻松地做到像扫描(scanning)、路由跟踪(tracerouting)、探测(probing)、单元测试(unit tests)、攻击(attacks)和发现网络(network discorvery)这样的传统任务。它可以代替 hping 、arpspoof 、arp-sk、arping,p0f 甚至是部分的Namp、tcpdump 和 tshark 的功能。

最简单的一个发包

from scapy.all import *
data='hello,word!'
pkt=IP(src='10.96.10.208',dst='10.96.10.209')/TCP(sport=12345,dport=12345)/data
send(pkt,inter=1,count=5)  #每隔一秒发包,发5次

scapy的安装和使用 

scapy默认是不安装的,安装命令:pip  install   scapy 

安装完后: 

  • ls()  命令可以查看所有支持的协议
  • ls(IP) 命令列出ip协议头部字段格式,只要想查看哪个协议的参数,括号里就填哪个协议
  • IP().show() 列出ip包的信息
  • lsc() 命令列出scapy的所有命令 
  • conf 命令列出scapy 的配置参数

发包的包格式: 层的协议(参数)/上一层的协议(参数) /要发送的数据    ,比如如下

IP(src='10.96.10.208',dst='10.96.10.209')/TCP(sport=12345,dport=12345)/data

发包

发送三层包:send(pkt, inter=0, loop=0, count=1, iface=N) 
发送二层包:sendp(pkt, inter=0, loop=0, count=1, iface=N) 
使用tcpreplay在第二层以更快的速度发送数据包 :sendpfast(pkt, pps=N, mbps=N, loop=0, iface=N) 

def send(x, inter=0, loop=0, count=None, verbose=None, realtime=None, return_packets=False, socket=None,*args,**kargs)

def sendp(x, inter=0, loop=0, iface=None, iface_hint=None, count=None, verbose=None, realtime=None,
          return_packets=False, socket=None,*args,**kargs)

def sendpfast(x, pps=None, mbps=None, realtime

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值