Scapy:交互式数据包处理工具
项目描述
Scapy
Scapy 是一个基于 Python 的强大交互式数据包操作程序和库。
它能够伪造或解码大量协议的数据包,将它们发送到线上,捕获它们,使用 pcap 文件存储或读取它们,匹配请求和回复,等等。它设计用来通过使用默认值快速进行数据包原型设计。
它可以轻松处理大多数经典任务,如扫描、路径追踪、探测、单元测试、攻击或网络发现(它可以替代 hping、nmap 的 85%、arpspoof、arp-sk、arping、tcpdump、wireshark、p0f 等)。它也在许多其他其他工具无法处理的特定任务上表现良好,例如发送无效帧、注入自己的 802.11 帧、结合技术(VLAN 跳跃+ARP 缓存中毒、在 WEP 保护的通道上进行 VoIP 解码等)。
Scapy 支持 Python 3.7+。它旨在跨平台使用,并在许多不同平台(Linux、OSX、*BSD 和 Windows)上运行。
入门
Scapy 可以作为 shell 或 library 使用。有关详细信息,请参阅文档中的 Scapy 入门。
shell 示例
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'
资源
文档包含更多高级用例和示例。
其他有用资源
- Scapy 20 分钟速成
- 交互式教程(文档的一部分)
- 快速演示:交互式会话(一些示例可能已过时)
- HTTP/2 笔记本
- TLS 笔记本
安装
Scapy 在 Linux 和 BSD 类操作系统上无需任何外部 Python 模块即可工作。在 Windows 上,您需要安装一些必需的依赖项,具体请参阅文档。
在大多数系统上,使用 Scapy 与运行以下命令一样简单
git clone https://github.com/secdev/scapy
cd scapy
./run_scapy
要使用 Scapy 的所有功能,例如绘图,您可能需要安装 Python 模块,例如 matplotlib 或 cryptography。请参阅 文档 并按照说明进行安装。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
scapy-2.6.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c8f7eb54511c2fab502128ccf18e2e4b98e1f6af6e02ae15b84ad3039143ba3b |
|
MD5 | 0fb44b6db8fbb76c0648c9c161067c15 |
|
BLAKE2b-256 | 70ca17cc6ee0dbf342193732312f14bfc879dd162570287fd9f65ac1eb8a9c5f |
scapy-2.6.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6cf241e9b93f3b93bbb48fc259edb1d1f14ba1d88d72c80fb66b3b02eb5493dc |
|
MD5 | ba2ddaf1d7d612749b6db349e768a275 |
|
BLAKE2b-256 | a2b9f22f63a901ac642d8e3cbcd017aa71fc3b4e50bde5e8a97cd9b9fddee42e |