【小镇的技术天梯】Scapy学习日记(二)

我们接着上一篇Scapy的学习日记开始讲。上节我们讲了使用scapy模仿ping命令,在这节我们将结合使用python写Scapy向一个网段发送ARP包的请求。
python小镇就不细教了,中间就穿插着讲讲吧
【小镇跟你说个悄悄话,python真的好简单啊!真心是小镇见过的最简洁的语言】

好,现在我们开始动手实干,首先打开vim编辑器,编写pringer.py脚本。在Terminal中输入命令vi pringer.py

输入以下脚本,小镇为了不让你复制让你手打就只截了个图,如下图所示:


【小镇的技术天梯】Scapy学习日记(二)_第1张图片


现在小镇来讲解下这段脚本~
首先最前面的几行不用管,是用来记录日志的。

我们从if len(sys.argv)!=2开始,在python中,sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,所以当sys.argv的长度不为2的时候代表你输入的参数的个数不正确,就用三行提示告诉用户应该怎么输入参数。
1、address=str(sys.argv[1]),其实在这段脚本中,address获取是用户输入的ip地址。

2、prefix=XXX,这还是很简单的吧,就是将ip地址的前三位保留用作网段。后面的数字随机1到254用作主机地址,最后就循环了整个192.168.237.0网段所有可能的主机。

3、最后通过sr1()函数想网段中所有可能的主机发送了ARP包,sr1()函数是scapy包中的,通过import scapy.all import *导入的。


好啦,最后给个运行权限运行下喽~

【小镇的技术天梯】Scapy学习日记(二)_第2张图片

你可能感兴趣的:(【小镇的技术天梯】Scapy学习日记(二))