使用Pyhon获取Mac地址,主要应用场景是点对点通讯。
1、获取自身的IP对应的Mac地址;
2、获取网络上已知IP设备的Mac地址;
1、获取自身的IP对应的Mac地址:
上述代码实质上是对“ipconfig /all”这条命令结果的解析
另一个方法:
def GetMac(self):
"""
get the local mathine`s mac address
"""
hwaddress = uuid.uuid1().hex[-12:]
p = re.compile(r'([0-9a-fA-F]{2})')
return p.subn(r'\1:',hwaddress)[0][:-1]
问题:获取网卡MAC地址,但是3个网卡,它只能获取第一个网卡的地址。如果根据IP地址,获取MAC地址? ------>可以先略过,因为scapy可以根据选择网卡(ip地址选择)
附:
获取本机IP地址
socket.getaddrinfo(socket.gethostname(),None)[-1][4][0]
问题1:多个网卡的情况下,只能获得一个网卡的IP地址
2、获取网络上已知IP地址设备的mac地址
上述代码实质上是对 “arp -a”结果的解析