import time,threading,socket,os,re,sys
from scapy.all import srp, Ether, ARP
threads = []
# 获取该IP计算机名、MAC地址
def GetHost(IPAddress):
try:
ans,unans = srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=IPAddress), timeout=2,verbose=False)
except Exception as e:
print("IP:%s MAC地址获取失败!!!"%IPAddress)
else:
for send, rcv in ans:
IPAddress = rcv.sprintf("%ARP.psrc%")
MACAddress = rcv.sprintf("%Ether.src%")
# 根据IP查询主机名
try:
(hostname,aliaslist,addresslist) = socket.gethostbyaddr(IPAddress)
print("主机名:%s IP地址:%s MAC地址:%s"%(hostname, IPAddress, MACAddress))
except Exception as e:
print("主机名:%s IP地址:%s MAC地址:%s"%("获取失败", IPAddress, MACAddress))
return
# 生成该段IP地址
def IPScan(IPPrefix):