[英]How to get ip address from known mac address on Linux using Python
如果我知道机器的Mac地址,该如何找到IP地址?
我需要能够执行此操作,因此我编写了一个可以执行此操作的python脚本:
import scapy
from multiprocessing import Process, Pool
def _arp_request(ip_addr):
answer, _ = srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip_addr), verbose=0, timeout=.5)
if answer:
return (answer[0][1].src, answer[0][0].pdst)
pool = Pool(50)
mac_addrs = [ad for ad in pool.map(_arp_request, addrs) if ad]
地址是可能尝试使用的IP地址的列表。
它发出快速的arp请求并映射出网络。
或者,您可以使用我编写的模块(该模块保留缓存以最小化arp请求):
>>> from ethip import ethip
>>> print ethip.getip('00:1E:C9:56:3C:8E', '10.5.42.255')
10.5.42.3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.