Windows和Python获取MAC地址的极简方法

 更新时间:2026年08月04日 08:33:24   作者:丞网科技  
本文汇总了Windows和Python获取MAC地址的极简方法,Windows提供三条CMD命令,Python提供两种方案且两种方案均可获取有线/无线/虚拟网卡MAC,有需要的小伙伴可以参考下

一、前言

日常开发、设备授权、局域网调试、软件绑定设备场景,经常需要快速获取电脑网卡 MAC 地址。本文汇总 Windows CMD原生命令Python最简获取MAC代码,无冗余、可直接复制即用。

所有代码均为极简可用版本,适合快速集成、调试、项目部署。

二、CMD 命令获取 MAC 地址(无需软件)

Windows 自带三条常用命令,按需选择,输出干净高效。

1、ipconfig 查看全部网卡信息(最常用)

完整查看网卡、IP、物理地址(MAC)、DNS等信息:

ipconfig /all

关键字段:物理地址 即为 MAC 地址。注意必须要输入/all,直接ipconfig没有mac地址。

精简只输出 MAC:

ipconfig /all | findstr "物理地址"

2、getmac 专属MAC查询

系统专用查看网卡物理地址命令,无多余冗余信息:

getmac

3、wmic 适合脚本批量读取

适合批处理、程序调用,输出规整:

wmic nic where "MacAddress<>null" get MacAddress

三、Python 最简代码获取本机 MAC 地址

提供两套方案:纯标准库(无需安装依赖)跨平台极简库方案

1、纯Python标准库(Windows专用、零依赖)

调用系统cmd解析MAC,无需pip安装任何包:

import subprocess
import re

def get_mac_list():
    res = subprocess.check_output("getmac /fo table /nh", encoding="gbk")
    macs = re.findall(r"([0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2})", res)
    return list(set(macs))

if __name__ == "__main__":
    print("本机MAC地址列表:")
    print(get_mac_list())

2、跨平台通用方案(Windows/Linux/Mac)

适配全平台,只需安装依赖:pip install netifaces

import netifaces

def get_mac_list():
    macs = set()
    for iface in netifaces.interfaces():
        addrs = netifaces.ifaddresses(iface)
        if netifaces.AF_LINK in addrs:
            mac = addrs[netifaces.AF_LINK][0]['addr']
            if mac != "00:00:00:00:00:00":
                macs.add(mac)
    return list(macs)

print(get_mac_list())

四、补充说明

Windows MAC 格式:XX-XX-XX-XX-XX-XX

Linux/Mac MAC 格式:XX:XX:XX:XX:XX:XX

结果包含:有线网卡、WiFi、蓝牙、虚拟网卡、虚拟机网卡

纯标准库方案适合 Windows 项目打包发布,无依赖报错

五、总结

1. 手动查看 MAC:优先使用 getmac 命令,简洁高效;

2. 程序自动获取:Windows 用标准库调用cmd,跨平台用 netifaces;

3. 所有代码均为最简实现,可直接嵌入设备授权、日志采集、系统信息工具。

以上就是Windows和Python获取MAC地址的极简方法的详细内容,更多关于Python获取MAC地址的资料请关注脚本之家其它相关文章!

相关文章

  • Python Selenium自动化测试中元素点击失败的常见错误与解决方案

    Python Selenium自动化测试中元素点击失败的常见错误与解决方案

    在Selenium自动化测试中,元素点击(Click)操作是高频场景,本文将通过真实案例拆解,用通俗易懂的方式讲解如何高效解决Selenium元素点击失败这一问题,希望对大家有所帮助
    2026-02-02
  • Python基础之元编程知识总结

    Python基础之元编程知识总结

    很多人不理解“元编程”是个什么东西,关于它也没有一个十分准确的定义.这篇文章要说的是Python里的元编程,实际上也不一定就真的符合“元编程”的定义.只不过我无法找到一个更准确的名字来代表这篇文章的主题,所以就借了这么一个名号,需要的朋友可以参考下
    2021-05-05
  • django 解决manage.py migrate无效的问题

    django 解决manage.py migrate无效的问题

    今天小编就为大家分享一篇django 解决manage.py migrate无效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python使用Selenium与pytest进行高效测试的示例详解

    Python使用Selenium与pytest进行高效测试的示例详解

    随着软件开发的快速发展,自动化测试成为了提高开发效率、降低错误率的重要工具,Python作为一种高效且易于使用的编程语言,已经成为自动化测试领域的重要工具之一,本文将介绍如何使用Python、Selenium和pytest进行自动化测试,并展示一个简单的自动化测试示例
    2025-01-01
  • Pandas中如何对DataFrame列名进行重命名

    Pandas中如何对DataFrame列名进行重命名

    在做数据挖掘的时候,想改一个DataFrame的column名称,所以就查了一下,下面这篇文章主要给大家介绍了关于Pandas中如何对DataFrame列名进行重命名的相关资料,需要的朋友可以参考下
    2023-04-04
  • Python学习思维导图(必看篇)

    Python学习思维导图(必看篇)

    下面小编就为大家带来一篇Python学习思维导图(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • python开发之函数定义实例分析

    python开发之函数定义实例分析

    这篇文章主要介绍了python开发之函数定义方法,以实例形式较为详细的分析了Python中函数的定义与使用技巧,需要的朋友可以参考下
    2015-11-11
  • 详解Python中的Lock和Rlock

    详解Python中的Lock和Rlock

    这篇文章主要介绍了Python中的Lock和Rlock的相关资料,帮助大家更好的理解和学习python线程的相关知识,感兴趣的朋友可以了解下
    2021-01-01
  • Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str

    Python BeautifulSoup [解决方法] TypeError: list indices must be

    这篇文章主要介绍了Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • pytorch实现从本地加载 .pth 格式模型

    pytorch实现从本地加载 .pth 格式模型

    今天小编就为大家分享一篇pytorch实现从本地加载 .pth 格式模型,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论