使用 Python 提取 MAC 地址

我们知道 MAC 地址是硬件地址,这意味着它对于安装在我们 PC 上的网卡是唯一的。它始终是唯一的,这意味着本地网络上的任何两个设备都不可能具有相同的 MAC 地址。

MAC 地址的主要目的是为局域网 (LAN) 或其他网络上的每个节点提供唯一的硬件地址或物理地址。节点是指计算机或其他设备(例如打印机或路由器)将保持连接到网络的点。

方法 1

使用 uuid.getnode()

在此示例中,getnode() 可用于提取计算机的 MAC 地址。此函数在 uuid 模块中定义。

示例代码

复制代码
import uuid
print (hex(uuid.getnode()))

输出

复制代码
0x242ac110002L

方法 2

使用 getnode() + format() [这是为了更好的格式化]

示例代码

复制代码
import uuid
# 在每个 2 位数字后,连接 getnode() 的元素。
print ("格式化的 MAC 地址为 : ", end="")
print (':'.join(['{:02x}'.format((uuid.getnode() >> elements) & 0xff)
for elements in range(0,2*6,2)][::-1]))

输出

复制代码
The formatted MAC address is : 3e:f8:e2:8b:2c:b3

方法 3

使用 getnode() + findall() + re()[这是为了降低复杂性]

示例代码

复制代码
import re, uuid
# 在每个 2 位数字后,连接 getnode() 的元素。
# 使用正则表达式
print ("The MAC address in expressed in formatted and less complex way : ", end="")
print (':'.join(re.findall('..', '%012x' % uuid.getnode())))

输出

复制代码
The MAC address in expressed in formatted and less complex way : 18:5e:0f:d4:f8:b3

相关文章


有用资源

相关推荐
全栈工程师修炼指南9 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
小镇敲码人9 小时前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
M158227690559 小时前
TCP转LORA产品说明及应用案例
网络·网络协议·tcp/ip
旖旎夜光9 小时前
Linux(13)(中)
linux·网络
摘星编程9 小时前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶9 小时前
Python 项目版本控制
开发语言·python
lili-felicity9 小时前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python
一个有梦有戏的人9 小时前
Python3基础:进阶基础,筑牢编程底层能力
后端·python
来可电子CAN青年9 小时前
CAN总线远距离传输老断网?Fx灯不闪别慌,这几招让你的通信“稳如泰山”!
网络
独行soc9 小时前
2026年渗透测试面试题总结-18(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮