我该如何获取我正在发送数据包的接口的MAC地址?
我正在尝试创建自定义ARP数据包,需要在其中包含我的MAC地址。但是我无法找到获取它的方法。
我该如何获取我正在发送数据包的接口的MAC地址?
我正在尝试创建自定义ARP数据包,需要在其中包含我的MAC地址。但是我无法找到获取它的方法。
请看get_if_hwaddr()函数。
文档: https://scapy.readthedocs.io/en/latest/routing.html
以下代码可能对您有所帮助:
my_macs = [get_if_hwaddr(i) for i in get_if_list()]
祝福您,K。
You can easily by:
from scapy.all import Ether
print(Ether().src)
这会打印出你正在使用的默认接口的MAC地址。
Original Answer翻译成"最初的回答"。get_if_hwaddr(conf.iface)
相同,但不那么神秘。 - Cukic0d>>> 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'}]}
get_if_hwaddr
和get_if_list
的作用会更好。 - Yohan Obadia