scapy模块的基本使用

Scapy是一个Python程序,使用户能够发送,嗅探和剖析并伪造网络数据包。此功能允许构建可以探测,扫描或攻击网络的工具。

换句话说,Scapy是一个功能强大的交互式数据包操作程序。它能够伪造或解码大量协议的数据包,通过线路发送,捕获它们,匹配请求和回复等等。Scapy可以轻松处理大多数经典任务,如扫描,跟踪路由,探测,单元测试,攻击或网络发现。它可以取代hping,arpspoof,arp-sk,arping,p0f甚至是Nmap,tcpdump和tshark的某些部分。

Scapy主要做两件事:发送数据包和接收答案。您定义一组数据包,它发送它们,接收答案,匹配带答案的请求,并返回数据包对(请求,应答)列表和不匹配数据包列表。这比Nmap或hping这样的工具具有很大的优势,即答案不会减少到(打开/关闭/过滤),而是整个数据包。

除此之外,还可以构建更高级别的功能,例如,执行traceroutes并且仅提供请求的起始TTL和答案的源IP的功能。一个ping整个网络并给出机器回答的列表。执行portscan并返回LaTeX报告的人。

安装

pip install scapy
pip install ipython

用法

在Windows上,请打开命令提示符(cmd.exe)并确保您具有管理员权限:

C:\>scapy
Welcome to Scapy (2.4.2)

如果您没有安装所有可选包,Scapy会通知您某些功能将不可用:

INFO: Can't import python matplotlib wrapper. Won't be able to plot.
INFO: Can't import PyX. Won't be able to use psdump() or pdfdump().

但是,发送和接收数据包的基本功能仍应有效。

现在可以进行一些操作

查看自己的网卡信息:show_interfaces()
scapy模块的基本使用_第1张图片
ls() 命令可以查看所有支持的协议
ls(IP) 命令列出ip协议头部字段格式,只要想查看哪个协议的参数,括号里就填哪个协议
IP().show() 列出ip包的信息
lsc() 命令列出scapy的所有命令
conf 命令列出scapy 的配置参数

你可能感兴趣的:(python)