【汇总】scapy 函数
前言全局说明 >
一、说明
环境:
Ubuntu 18.04.6 LTS (Linux qt-vm 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux)
python Python 2.7.17 (default, Mar 8 2023, 18:40:28) [GCC 7.5.0] on linux2
python3 Python 3.6.9 (default, Mar 10 2023, 16:46:00) [GCC 8.4.0] on linux
二、函数(方法)
排序 | 函数(方法) | 英文说明 | 中文说明 | 示例、备注 |
A | ||||
B | ||||
C | ||||
command() | 返回可以生成数据包的Scapy命令 | |||
D | ||||
decode_payload_as() | 改变payload的decode方式 | |||
E | ||||
Ether() | ||||
F | ||||
fuzz() | 随机生成sport或dport。构建tcp层没有指定sport或dport时,发包时会自动使用知名端口如20,80 | fuzz(TCP()) | ||
filter() | 返回一个lambda过滤后的数据包列表 | |||
G | ||||
obj.getlayer() | 获取指定层 | ipPacket.getlayer(TCP) | ||
H | ||||
hexdump() | 十六进制转储 | hexdump(pkt) | ||
hexraw() | 返回所以数据包Raw layer的hexdump | |||
obj.haslayer() | 查看报文有指定的协议层 | ipPacket.haslayer(TCP) | ||
I | ||||
IP() | 指定要访问服务器地址 | |||
ICMP() | 发送ICMP类型报文 | |||
J | ||||
K | ||||
L | ||||
lsc() | 查看Scapy支持的所有命令 | |||
ls() | 显示出字段值的列表。分两种情况
|
ls(pkt) | ||
M | ||||
make table() | 根据lambda函数来显示表格 | |||
N | ||||
nzpadding() | 返回一个具有非零填充的数据包的hexdump | |||
O | ||||
P | ||||
padding() | 返回一个带填充的数据包的hexdump | |||
pdfdump() | 绘制一个解释说明的PDF | |||
plot() | 规划一个应用到数据包列表的lambda函数 | |||
psdump() | 绘制一个解释说明的PostScript图表 | |||
Q | ||||
R | ||||
Raw() | ||||
RandShort() | 产生一个16位随机整数,范围1~65535,通常用在tcp/udp的sport或dport中。 | int(RandShort()) | ||
RandNum() | 生成指定范围内的一个随机数 | int(RandNum(3000,4000)) | ||
rdpcap | 文件中的报文读到列表中,然后对每个报文可以按协议分层访问各层字段 | rdpcap(r'f:\pkt.pcap') | ||
S | ||||
send() | 第三层(网络层)发工作,处理路由数据与第二层数据 | |||
sendp() | 第二层(数据链路层)工作,需要指定正确的接口与数据链路层协议 | |||
sr() | ||||
sr1() | sr1()方法是sr()的特殊用法,仅仅返回一个参数,就是所收到的应答的数据包。 srp()方法与srp1()方法是针对二层数据的发送方法 | |||
str() | 组装数据包 | str(pkt) | ||
summary() | 一行摘要 | |||
show() | 显示数据包内容 | |||
show2() | 显示聚合的数据包(例如,计算好了校验和) | |||
sprintf() | 用数据包字段填充格式字符串 | |||
srloop | 循环发送报文 | |||
T | ||||
TCP() | ||||
U | ||||
UDP() | 发送UDP类型报文 | |||
V | ||||
W | ||||
wrpcap() | 报文写到文件中 | wrpcap(r'f:\pkt.pcap',pkt) | ||
X | ||||
Y | ||||
Z |
三、 自带变量
排序 | 变量 | 英文说明 | 中文说明 | 备注 |
A | ||||
B | ||||
C | conf | 查看scapy的配置参数 | print(conf) | |
D | ||||
E | ||||
F | ||||
G | ||||
H | ||||
I | ||||
G | ||||
K | ||||
L | ||||
M | ||||
N | ||||
O | ||||
P | ||||
Q | ||||
R | ||||
S | scapy | 显示scapy安装路径 | ||
T | ||||
U | ||||
V | ||||
W | ||||
X | ||||
Y | ||||
Z |
四、 语法:
[] 使用列表,代表可以有多个,用逗号分割。示例:[1, 2, 3, 4, 5] 或 ["www.yahoo.com", "www.altavista.com"]
() 使用元组,代表生成序列。示例:[1, (2,5)] 相当于 [1, 2, 3, 4, 5]
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
---
参考、来源:
使用方法 · Scapy 中文文档 (gitbooks.io)
scapy模块基础使用 - 梦想与现实边缘 - 博客园 (cnblogs.com)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步