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()