Scapy网络包生成器简介

Scapy是一个用于网络协议、包生成和操作的工具,可以用可视化的方式显示它们 绘图 和3D图像。有类似hping3的工具,但scapy对它非常灵活。Scapy可以操作IP、以太网、tcp、udp等通用协议的所有数据。如果您有网络协议场景,您可以使用Scapy和 python 编写脚本。我建议把它作为一个整体阅读,但我可能会很长的简单用法。在这里,我将给你快速肮脏的使用斯卡皮。

安装Scapy

Ubuntu、Debian、Mint、Kali

$ sudo apt install scapy -y
Ubuntu, Debian, Mint, Kali
Ubuntu、Debian、Mint、Kali

软呢帽、CentOS、RedHat

$ sudo yum info scapy

启动Scapy交互式Shell

现在我们可以跑了 或者在我们的python脚本中使用它。为了简单起见,我们运行shell。请注意,Scapy将访问操作系统的网络堆栈并需要root权限。所以我们和sudo一起做。在info,我们收到一条消息,说我们没有GnuPlot,但我们不会使用它。

$ sudo scapy
Start Scapy Interactive Shell
启动Scapy交互式Shell

创建IP数据包

scapy中有很多网络协议类和对象,可以通过设置一些选项来查看IP。我们将默认值IP更改为IP。

>>> IP(version="6") 

创建TCP数据包

现在添加一些 tcp协议 在ip上。如您所见,网络协议以/分隔。

>>> IP()/TCP() >

设置应用层数据

我们可以把新的数据包分配给一个变量

>>> a=IP()/TCP()/"GET / HTTP/1.0

" >>> a >>

打印数据包

使用字符串和十六进制转储格式读取数据包非常容易

>>> str(a) 

我们可以用L2或L3发送数据包。下面我们通过查找路由表发送L3。sendp用于发送L2。

>>> z=(IP(dst="ismailbaydan.com/32")) >>> send(z)

接收数据包

发送数据包不足以实际使用,发送和接收数据包应使用sr和sr1功能。sr1函数仅用于1个数据包回复。u用于最后一个应答,其中它是由应答和未应答的数据包组成的元组。我们从ismailbaydan.com得到如下答案。

>>> sr(IP(dst="ismailbaydan.com/32")/TCP(dport=[80])) Begin emission: .......................Finished to send 1 packets. ........................................................................................................................................................................................................................................................................................................................................* Received 352 packets, got 1 answers, remaining 0 packets (, ) >>> ans,unans=_ >>> ans.summary() IP / TCP 192.168.122.25:ftp_data > 192.254.233.205:http S ==> IP / TCP 192.254.233.205:http > 192.168.122.25:ftp_data SA / Padding >>> unans.summary()

相关文章: 如何从Nmap扫描中排除主机?

Scapy网络包生成器信息图简介

Introduction To Scapy Network Packet Generator Infographic
Scapy网络包生成器信息图简介

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享