secdev/scapy

GitHub: secdev/scapy

Scapy 是一个功能强大的 Python 数据包操作框架,支持报文构造、发送、捕获和解析,可替代多种网络工具完成从网络扫描到渗透测试的各类任务。

Stars: 12087 | Forks: 2192

# Scapy   Scapy [![Scapy 单元测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/0667a3c3c3135324.svg)](https://github.com/secdev/scapy/actions/workflows/unittests.yml?query=event%3Apush) [![Codecov 状态](https://codecov.io/gh/secdev/scapy/branch/master/graph/badge.svg)](https://codecov.io/gh/secdev/scapy) [![Codacy 徽章](https://api.codacy.com/project/badge/Grade/30ee6772bb264a689a2604f5cdb0437b)](https://app.codacy.com/gh/secdev/scapy/dashboard) [![PyPI 版本](https://img.shields.io/pypi/v/scapy.svg)](https://pypi.python.org/pypi/scapy/) [![许可证:GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](LICENSE) [![加入聊天 https://gitter.im/secdev/scapy](https://badges.gitter.im/secdev/scapy.svg)](https://gitter.im/secdev/scapy) Scapy 是一个强大的基于 Python 的交互式数据包操作程序和库。 它能够伪造或解码多种协议的数据包,在线路上发送它们,捕获它们,使用 pcap 文件存储或读取它们,匹配请求和回复,以及更多功能。它旨在通过使用有效的默认值来实现快速的数据包原型设计。 它可以轻松处理大多数经典任务,如扫描、tracerouting、探测、单元测试、攻击或网络发现(它可以替代 `hping`、85% 的 `nmap`、`arpspoof`、`arp-sk`、`arping`、`tcpdump`、`wireshark`、`p0f` 等)。它还能很好地处理许多其他特定任务,这是大多数其他工具无法做到的,例如发送无效帧、注入您自己的 802.11 帧、组合技术(VLAN 跳跃+ARP 缓存中毒、WEP 保护通道上的 VoIP 解码等)等。 Scapy 支持 Python 3.7+。它旨在跨平台,并可在许多不同的平台(Linux、OSX、\*BSD 和 Windows)上运行。 ## 入门指南 Scapy 既可用作 **shell**,也可用作 **库**。 欲了解更多详情,请前往 [Scapy 入门](https://scapy.readthedocs.io/en/latest/introduction.html),这是文档的一部分。 ### Shell 演示 ![Scapy 安装演示](https://secdev.github.io/files/doc/animation-scapy-install.svg) Scapy 可以轻松地用作交互式 shell 与网络进行交互。 以下示例展示了如何向 `github.com` 发送 ICMP Echo Request 消息,然后显示回复的源 IP 地址: ``` sudo ./run_scapy Welcome to Scapy >>> p = IP(dst="github.com")/ICMP() >>> r = sr1(p) Begin emission: .Finished to send 1 packets. * Received 2 packets, got 1 answers, remaining 0 packets >>> r[IP].src '192.30.253.113' ``` ### 资源 [文档](https://scapy.readthedocs.io/en/latest/)包含更多高级用例和示例。 其他有用的资源: - [20 分钟掌握 Scapy](https://github.com/secdev/scapy/blob/master/doc/notebooks/Scapy%20in%2015%20minutes.ipynb) - [交互式教程](https://scapy.readthedocs.io/en/latest/usage.html#interactive-tutorial)(文档的一部分) - [快速演示:交互式会话](https://scapy.readthedocs.io/en/latest/introduction.html#quick-demo)(某些示例可能已过时) - [HTTP/2 notebook](https://github.com/secdev/scapy/blob/master/doc/notebooks/HTTP_2_Tuto.ipynb) - [TLS notebooks](https://github.com/secdev/scapy/blob/master/doc/notebooks/tls) ## [安装](https://scapy.readthedocs.io/en/latest/installation.html) 在 Linux 和 BSD 类操作系统上,Scapy 无需任何外部 Python 模块即可工作。在 Windows 上,您需要安装一些强制性依赖项,如[文档](http://scapy.readthedocs.io/en/latest/installation.html#windows)中所述。 在大多数系统上,使用 Scapy 就像运行以下命令一样简单: ``` git clone https://github.com/secdev/scapy cd scapy ./run_scapy ``` 为了利用 Scapy 的所有功能,例如绘图,您可能需要安装 Python 模块,例如 `matplotlib` 或 `cryptography`。请参阅[文档](http://scapy.readthedocs.io/en/latest/installation.html)并按照说明进行安装。 ## 许可证 Scapy 的代码、测试和工具根据 GPL v2 授权。 文档(`doc/` 中除非另有标记的所有内容,标志除外)根据 CC BY-NC-SA 2.5 授权。 ## 贡献 想要贡献?太棒了!请花几分钟时间[阅读此内容](CONTRIBUTING.md)!
标签:ARP欺骗, Libpcap, Scapy, traceroute, WiFi安全, ZAP项目解析, 事件响应, 二进制发布, 云存储安全, 内核驱动, 密码管理, 开发库, 开源工具, 插件系统, 攻击路径可视化, 数据包构造, 流量生成, 流量编辑, 系统分析, 网络分析, 网络协议, 网络安全, 网络扫描, 逆向工具, 防御绕过, 隐私保护, 黑客工具