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()
原文地址:http://blog.51cto.com/9605122/2116232