您当前的位置: 首页 >  Python

Xavier Jiezou

暂无认证

  • 0浏览

    0关注

    394博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【python】4行代码获取电脑MAC地址(uuid)

Xavier Jiezou 发布时间:2021-04-19 00:07:08 ,浏览量:0

引言

MAC地址(英语:Media Access Control Address),直译为媒体访问控制地址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的地址。在OSI模型中,第三层网络层负责IP地址,第二层数据链接层则负责MAC地址。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。

代码
import uuid
mac_address = uuid.UUID(int=uuid.getnode()).hex[-12:].upper()
mac_address = '-'.join([mac_address[i:i+2] for i in range(0, 11, 2)])
print(mac_address)

或者

import uuid
mac_address = uuid.uuid1().hex[-12:].upper()
mac_address = '-'.join([mac_address[i:i+2] for i in range(0, 11, 2)])
print(mac_address)
校验

cmd里面通过ipconfig -all命令查看物理地址(就是MAC地址),与python获取的结果对比一下。

在这里插入图片描述

拓展

MAC地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-EA-AE-3C-40就是一个MAC地址,其中前3个字节,16进制数00-16-EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3个字节,16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性。

既然知道了MAC地址的规则,我们也能自己随机生成一个,下方是用Python“伪造”MAC地址的代码:

import random
value_range = [hex(i)[-1].upper() for i in range(16)]
mac_address = random.choices(value_range, k=12)
mac_address = '-'.join([''.join(mac_address[i:i+2]) for i in range(0, 11, 2)])
print(mac_address)
参考

https://zh.wikipedia.org/wiki/MAC地址 https://docs.python.org/3/library/uuid.html https://www.cnki.com.cn/Article/CJFDTotal-DNBC201110037.htm

关注
打赏
1661408149
查看更多评论
立即登录/注册

微信扫码登录

0.0451s