# 获取网关以及其MAC地址
import netifaces
import time
# 获取默认网关的IP地址
def get_default_gateway():
gws = netifaces.gateways()
return gws['default'][netifaces.AF_INET][0]
# 获取默认网关地址
body+="\r\n"
gateway_ip = get_default_gateway()
print(f"网关地址是:{gateway_ip}")
body+=f"网关地址是:{gateway_ip}"
body+="\r\n"
try:
from scapy.all import ARP, Ether, srp
def get_mac(ip):
arp_request = ARP(pdst=ip)
broadcast = Ether(dst="ff:ff:ff:ff:ff:ff")
arp_request_broadcast = broadcast / arp_request
answered_list = srp(arp_request_broadcast, timeout=2, verbose=False)[0]
return answered_list[0][1].hwsrc if answered_list else None
# 获取网关mac地址
ip = gateway_ip # 替换为目标IP
mac = get_mac(ip)
if mac:
print(f"网关MAC地址是: {mac}")
body += f"网关MAC地址是: {mac}"
body += "\r\n"
else:
print(f"无法找到网关的MAC地址")
body += f"无法找到网关的MAC地址"
body += "\r\n"
except:
print("进行此项测试,需要操作系统管理员权限。可能当前并没有权限。")
body+="进行此项测试,需要操作系统管理员权限。可能当前并没有权限。"
body+="\r\n"
最后修改:2024 年 05 月 11 日
© 允许规范转载