如何获取我发送数据包的接口的MAC地址?
我正在尝试创建自定义ARP数据包,我需要在其中包含我自己的MAC。我似乎无法找到获得它的方法。
答案 0 :(得分:7)
看看get_if_hwaddr()函数。
此代码可以帮助您:
my_macs = [get_if_hwaddr(i) for i in get_if_list()]
干杯, ķ。
答案 1 :(得分:1)
您可以轻松地通过:
from scapy.all import Ether
print(Ether().src)
这会打印您正在使用的默认接口的MAC地址。
答案 2 :(得分:-1)
Netifaces Python Package提供了有关您正在使用的接口的大量信息。
>>> netifaces.ifaddresses('en0')
{18: [{'addr': '00:12:34:56:78:9a'}], 2: [{'broadcast':
'10.255.255.255', 'netmask': '255.0.0.0', 'addr': '10.16.1.4'}],
30: [{'netmask': 'ffff:ffff:ffff:ffff::', 'addr':
'fe80::123:4567:89ab:cdef%en0'}]}