Python 网络扫描代码:获取活动主机 IP 和 MAC 地址
这段代码使用 Python 实现了一个简单的网络扫描功能,它可以识别并记录网络中活动主机的 IP 地址和 MAC 地址。
def scan_network(ifname):
active_hosts = {}
for i in range(1, 255):
dst_ip = '192.168.197.' + str(i)
send_arp_request(ifname, '192.168.197.1', get_mac_address(ifname), dst_ip)
time.sleep(0.1)
response = send_arp_reply(ifname, dst_ip, get_mac_address(ifname), '192.168.197.1', get_mac_address(ifname))
if response is not None:
active_hosts[response['src_ip']] = response['src_mac']
return active_hosts
f.write('活动主机IP地址 MAC地址\n')
for ip, mac in ip_mac_dict.items():
f.write(ip + ' ' + mac + '\n')
代码使用了 ARP 请求和回复机制来识别活动主机。它遍历网络中所有可能的 IP 地址(192.168.197.1 到 192.168.197.254),发送 ARP 请求并等待响应。如果收到 ARP 回复,则说明该 IP 地址对应的主机是活动的,代码会将该主机的 IP 地址和 MAC 地址记录下来。
代码最后会将扫描结果写入一个文件中。文件中记录了所有活动主机的 IP 地址和 MAC 地址,每行对应一个主机信息。文件的路径和名称需要在代码中指定,代码中没有给出具体的文件路径。
注意: 这段代码仅供学习参考,在实际应用中需要考虑安全性和隐私问题。不要在未经授权的情况下扫描他人网络。
原文地址: https://www.cveoy.top/t/topic/jm8R 著作权归作者所有。请勿转载和采集!