如何使用Python提取MAC地址?

每台计算机都需要网络接口卡(NIC)才能成为网络或Internet的一部分。分配给该卡的地址称为MAC地址。MAC地址的值对于每个NIC都是唯一的。它也适用于其他可以连接到LAN或Internet的设备,例如打印机和路由器。

要找到MAC地址,我们使用以下方法之一。

使用uuid.getnode()

uuid模块具有getnode()以十六进制格式为我们提供MAC地址的功能。

示例

import uuid
print(hex(uuid.getnode()))

输出结果

运行上面的代码给我们以下结果-

0xfee14ef7a96

使用getnode()+format()

我们使用这种方法格式化结果以提高可读性。在这里,我们将每个节点的元素连接到2位数字之后,并用冒号分隔它们来表示它们。

示例

import uuid
print ("Formatted MAC address : ")
print (':'.join(['{:02x}'.format((uuid.getnode() >> elements) & 0xff)
for elements in range(0,2*6,2)][::-1]))

输出结果

运行上面的代码给我们以下结果-

Formatted MAC address :
de:7a:ea:a9:a5:96

使用getnode()+ findall()+re()

我们使用与前一种方法相同的方法,但是使用正则表达式模块(re)格式化结果。这使得结果复杂得多。

示例

import re,uuid
print ("Formatted MAC address : ")
print (':'.join(re.findall('..', '%012x' % uuid.getnode())))

输出结果

运行上面的代码给我们以下结果-

Formatted MAC address:
0f:ee:14:ef:7a:96