Scapy 详细安装教程、功能介绍与快速上手
一、Scapy 相关介绍
Scapy 是一个基于 Python 的交互式数据包操纵工具,能够发送、嗅探、解析和伪造网络数据包,其核心能力包括网络探测、扫描和协议分析。作为多功能工具,在吞吐量和性能要求不高的情况下,可代替测试仪构建和组装想要的报文内容,实现抓包和发包的功能。
1、Scapy 的优缺点
Scapy 是一个强大的 Python 网络数据包操作工具,其核心优势在于灵活性和协议支持广度,但也存在一定局限性。
1.1、优点
A、协议支持全面:支持 IPv4/IPv6、TCP/UDP、ARP、ICMP 等超过 800 种协议,可构造复杂数据包并进行发送、捕获及解析主流协议,以及 802.11 无线协议。
B、交互式操作与脚本化:通过 Python 脚本灵活构造数据包,支持实时交互调试,适用于渗透测试和教育演示。
C、跨平台兼容性:支持 Linux/Windows/macOS,并集成 Wireshark 解析引擎提升分析效率。
1.2、缺点
A、性能局限:基于 Python 实现,处理高并发流量时性能低于 C/C++ 工具(如 Nmap),通常不会超过 1000pps。
B、学习曲线较陡:需深入理解网络协议才能有效使用,对新手不够友好。
C、无线功能依赖硬件:802.11 功能需特定网卡支持(如支持 monitor 模式的无线网卡)。
2、Scapy 环境安装
Scapy 的安装需确保 Python 环境已正确配置(建议 3.7+ 版本),并通过 pip 直接安装或离线部署。
2.1、Windows 环境安装 Scapy
以管理员权限打开 Windows 的 cmd 窗口,使用命令 pip install scapy 安装 scapy 包,可以使用 pip list 检查 scapy 是否安装成功,在 python 已设置全局变量的情况下可执行 scapy 来进入 shell 界面。
pip install scapy
pip list

2.2、Ubuntu 环境安装 Scapy
Ubuntu 使用 root 权限安装 scapy。
apt install python3-scapy
# 或者
apt install scapy
使用 pip list | grep scapy 查看 scapy 是否安装版本。

二、Scapy 常用函数介绍
1、调试辅助函数
1.1、rdpcap()
当我们在组包时,不清楚报文需要封装哪些头和 data 时,可以使用 rdpcap 读取 wireshark 抓取的真实报文,打印出来,然后按照输出的报文结构进行组包。其中 是报文索引,表示第一个报文。




