scapy:交互式包操作工具
scap的Python项目详细描述
斯卡皮
scapy是一个强大的基于python的交互式包操作程序,并且 图书馆。
它能够伪造或解码多种协议的数据包,并发送它们 在线路上,捕获它们,使用pcap文件存储或读取它们,匹配请求 还有回复等等它的设计允许通过 使用有效的默认值。
它可以轻松处理大多数经典任务,如扫描、跟踪、探测,
单元测试、攻击或网络发现(它可以替代hping
,85%的nmap
,
arpspoof
、arp-sk
、arping
、tcpdump
、wireshark
、p0f
等)它也
在许多其他工具无法完成的特定任务上表现出色
处理,比如发送无效帧,注入自己的802.11帧,组合
技术(VLAN跳转+ARP缓存中毒,WEP保护上的VoIP解码)
频道,…)等
scapy支持python 2.7和python 3(3.4到3.7)。它的目的是 跨平台,运行在许多不同的平台上(Linux、OSX, *BSD和Windows)。
开始
Scapy可以用作shell或library。 有关详细信息,请转到Getting started with Scapy,这是文档的一部分。
外壳演示
Scapy可以很容易地用作与网络交互的shell。
下面的示例演示如何将ICMP回显请求消息发送到
github.com
,然后显示应答源IP地址:
sudo./run_scapyWelcometoScapy>>>p=IP(dst="github.com")/ICMP()>>>r=sr1(p)Beginemission:.Finishedtosend1packets.*Received2packets,got1answers,remaining0packets>>>r[IP].src'192.30.253.113'
资源
documentation包含更多 高级用例和示例。
其他有用资源:
- Scapy in 20 minutes
- Interactive tutorial(文档的一部分)
- The quick demo: an interactive session (有些例子可能已经过时)
- HTTP/2 notebook
- TLS notebooks
Installation
Scapy在Linux和类似BSD的操作系统上没有任何外部Python模块 系统。在Windows上,您需要安装一些必需的依赖项 在the documentation中描述。
在大多数系统上,使用Scapy就像运行以下命令一样简单:
git clone https://github.com/secdev/scapy
cd scapy
./run_scapy
要从所有scapy功能(如打印)中获益,您可能需要安装
python模块,例如matplotlib
或cryptography
。见
documentation和
按照说明安装