ARP扫描***测试
任务描述:
假定各位选手是TaoJin电子商务企业的信息系统安全工程师,负责该企业信息系统的安全维护,现欲对该系统中主机进行ARP扫描***测试,确认该系统中都有哪些IP主机在线.
1.进入虚拟机操作系统:Ubuntu Linux 32bit中的/root目录,完善该目录下的arp_sweep.py文件,填写该文件当中空缺的Flag1字符串,将该字符串作为Flag值(形式:Flag1字符串)提交;(arp_sweep.py脚本功能见该任务第6题)
2.进入虚拟机操作系统:Ubuntu Linux 32bit中的/root目录,完善该目录下的arp_sweep.py文件,填写该文件当中空缺的Flag2字符串,将该字符串作为Flag值(形式:Flag2字符串)提交;(arp_sweep.py脚本功能见该任务第6题)
3.进入虚拟机操作系统:Ubuntu Linux 32bit中的/root目录,完善该目录下的arp_sweep.py文件,填写该文件当中空缺的Flag3字符串,将该字符串作为Flag值(形式:Flag3字符串)提交;(arp_sweep.py脚本功能见该任务第6题)
4.进入虚拟机操作系统:Ubuntu Linux 32bit中的/root目录,完善该目录下的arp_sweep.py文件,填写该文件当中空缺的Flag4字符串,将该字符串作为Flag值(形式:Flag4字符串)提交;(arp_sweep.py脚本功能见该任务第6题)
5.进入虚拟机操作系统:Ubuntu Linux 32bit中的/root目录,完善该目录下的arp_sweep.py文件,填写该文件当中空缺的Flag5字符串,将该字符串作为Flag值(形式:Flag5字符串)提交;(arp_sweep.py脚本功能见该任务第6题)
6.在虚拟机操作系统:Ubuntu Linux 32bit下执行arp_sweep.py文件,对服务器场景进行ARP扫描***测试;将该文件执行后的显示结果中,第1行的第1个字符以及第2行的第1个字符作为Flag值(形式:第1行的第1个字符;第2行的第1个字符)提交;
以前从来没有接触过编程用了俩星期恶补终于能够理解这道题。按照描述主要使用scapy模块,就可以完成任务。
#encoding=utf-8
from scapy.all import *
import sys
#qq:726361158
def worker():
ip_list=[]
for ipFix in range(1,255):
ip="172.16.1."+str(ipFix)
arpPkt = Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip, hwdst="ff:ff:ff:ff:ff:ff")
res = srp1(arpPkt, timeout=1, verbose=False)
if res:
print "IP: " + res.psrc + " MAC: " + res.hwsrc
ip_list.append(res.psrc)
return ip_list
if __name__=="__main__":
fp = open('/root/ip.txt','w')
ip_list = worker()
i = 0
for ip in ip_list:
fp.write(ip+'\n')
i+=1
print('over......')
print("ip num:%d"%i)
fp.close()
转载于:https://blog.51cto.com/9605122/2116232