Windows:命令提示符输入
ipconfig /all
,在物理地址处查看。 ,Linux:终端输入ip link show
或ifconfig
,查找link/ether
后地址。 ,macOS:终端输入ifconfig
,在en0
等接口的ether
字段查看,或通过系统偏好设置>网络>高级>硬件获取。
MAC地址(Media Access Control Address),也称为物理地址或硬件地址,是网络接口卡(NIC)在全球范围内的唯一标识符,它由12个十六进制字符组成(通常用冒号或连字符分隔),00:1A:2B:3C:4D:5E
,当您需要排查网络连接问题、配置路由器MAC过滤、或进行某些高级网络设置时,知道如何查找设备的MAC地址就非常有用,命令行(终端)提供了一种快速、直接且通用的方法来获取此信息,无论您使用的是Windows、Linux还是macOS系统。
为什么使用命令行?
- 通用性: 命令行工具在所有主流操作系统中都存在且功能强大。
- 效率: 对于熟悉命令的用户,通常比通过图形界面层层点击更快。
- 脚本化: 方便在脚本或自动化任务中集成。
- 精确性: 直接输出所需信息,避免图形界面中可能的混淆。
重要提示:
- 一台设备可能有多个网络接口(如有线网卡、无线网卡、虚拟网卡等),每个接口都有自己唯一的MAC地址,请根据您需要查看的接口类型(如Wi-Fi、以太网)选择对应的结果。
- MAC地址是设备的硬件标识符,通常与设备绑定,但在某些情况下(如虚拟化或高级网络配置),它可以被修改(称为MAC地址欺骗)。
- 出于隐私考虑,在公共网络上随意透露您的MAC地址通常不是好主意。
下面分别介绍在Windows、Linux和macOS系统中通过命令行查看MAC地址的方法:
在Windows系统中查看MAC地址
Windows提供了几个命令来查看网络信息和MAC地址:
-
使用
ipconfig /all
命令 (最常用且信息全面)- 按下
Win + R
键,输入cmd
或powershell
,然后按回车打开命令提示符或PowerShell窗口。 - 输入以下命令并按回车:
ipconfig /all
- 在输出的庞大信息中,找到您感兴趣的网络适配器(“无线局域网适配器 WLAN” 对应Wi-Fi,“以太网适配器 以太网” 对应有线连接)。
- 在该适配器的详细信息部分,查找
物理地址
行,其后面的12位十六进制数字(通常用连字符分隔)就是该接口的MAC地址。 - 示例输出片段:
无线局域网适配器 WLAN: ... 物理地址. . . . . . . . . . . . . : 00-1A-2B-3C-4D-5E ...
- 按下
-
使用
getmac
命令 (专门用于获取MAC地址)- 在命令提示符或PowerShell中,输入:
getmac
- 或者为了更清晰的格式(特别是适配器名称较长时):
getmac /v
- 或者输出为CSV格式方便处理:
getmac /fo csv /v
- 该命令会列出所有网络适配器的
物理地址
(MAC地址) 以及对应的传输名称
(通常是适配器名称)。 - 示例输出 (
getmac /v
):连接名 网络适配器 物理地址 传输名称 =========================================================================== Wi-Fi Intel(R) Wi-Fi 6 AX201 160MHz 00-1A-2B-3C-4D-5E \Device\Tcpip_{...} 以太网 Intel(R) Ethernet Controller (2) I219-V A0-B1-C2-D3-E4-F5 \Device\Tcpip_{...}
- 在命令提示符或PowerShell中,输入:
在Linux系统中查看MAC地址
Linux系统查看MAC地址的命令非常丰富且强大:
-
使用
ip link show
或ip addr show
命令 (推荐,现代且功能强大)- 打开终端 (Terminal)。
- 输入以下命令:
ip link show
或
ip addr show
- 在输出结果中,找到您要查看的网络接口(通常有线接口名为
eth0
,enpXsY
;无线接口名为wlan0
,wlpXsY
;lo
是本地环回接口)。 - 在对应接口的信息块中,查找
link/ether
行,其后面跟着的12位十六进制数字(通常用冒号分隔)就是该接口的MAC地址。 - 示例输出 (
ip link show
):1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether a0:b1:c2:d3:e4:f5 brd ff:ff:ff:ff:ff:ff 3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
-
使用
ifconfig
命令 (传统,部分新系统可能需安装)- 在终端中输入:
ifconfig
- 如果提示命令未找到,您可能需要安装
net-tools
包(例如在Debian/Ubuntu上:sudo apt install net-tools
)。 - 在输出结果中,找到目标网络接口(如
eth0
,wlan0
)。 - 在对应接口的信息中,查找
ether
行,其后面的12位十六进制数字(通常用冒号分隔)就是MAC地址。 - 示例输出:
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::21a:2bff:fe3c:4d5e prefixlen 64 scopeid 0x20<link> ether 00:1a:2b:3c:4d:5e txqueuelen 1000 (Ethernet) ...
- 在终端中输入:
-
查看特定接口的MAC地址
- 您可以将接口名作为参数传递给上述命令,只查看该接口的信息:
ip link show eth0
ifconfig wlan0
- 您可以将接口名作为参数传递给上述命令,只查看该接口的信息:
在macOS系统中查看MAC地址
macOS基于Unix(BSD),其命令与Linux有相似之处但也有区别:
-
使用
ifconfig
命令- 打开“终端”(可在“应用程序”->“实用工具”中找到)。
- 输入命令:
ifconfig
- 在输出结果中,找到您要查看的网络接口:
- 有线以太网接口通常名为
en0
,en1
… - 无线Wi-Fi接口通常名为
en0
(较新Mac) 或en1
(较旧Mac),查看带有status: active
且不是lo0
(环回) 的接口,通常就是正在使用的Wi-Fi。 awdl0
(Apple Wireless Direct Link) 和llw0
(Low Latency WAN) 是苹果特有的接口。
- 有线以太网接口通常名为
- 在对应接口的信息块中,查找
ether
行,其后面的12位十六进制数字(通常用冒号分隔)就是该接口的MAC地址。 - 示例输出 (Wi-Fi 接口 en0):
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM> ether 00:1a:2b:3c:4d:5e inet6 fe80::14a9:20ff:fe3c:4d5e%en0 prefixlen 64 secured scopeid 0x6 inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=201<PERFORMNUD,DAD> media: autoselect status: active
-
使用
networksetup
命令 (更面向特定服务)- 这个命令可以按网络服务(如Wi-Fi、以太网)来获取信息,有时更直观。
- 列出所有网络服务以获取服务名称:
networksetup -listallhardwareports
- 在输出中找到您需要的硬件端口(如
Wi-Fi
,Ethernet
)及其对应的Device
(接口名,如en0
)。 - 使用以下命令查看指定硬件端口的MAC地址:
networksetup -getmacaddress hardwareport
将
hardwareport
替换为上一步中列出的确切硬件端口名称(如Wi-Fi
,Ethernet
)。 - 示例:
$ networksetup -listallhardwareports Hardware Port: Wi-Fi Device: en0 ... Hardware Port: Ethernet Device: en7 ... $ networksetup -getmacaddress Wi-Fi Ethernet Address: 00:1a:2b:3c:4d:5e (Hardware Port: Wi-Fi)
通过命令行查看MAC地址是系统管理员、网络工程师和高级用户的一项基本技能,掌握 ipconfig /all
或 getmac
(Windows), ip link show
或 ifconfig
(Linux), 以及 ifconfig
或 networksetup
(macOS) 这些核心命令,您就能在各种操作系统环境下快速准确地定位到所需网络接口的物理地址,请务必注意区分不同的网络接口,并理解MAC地址的隐私含义。
引用说明:
- 本文中涉及的命令行工具(
ipconfig
,getmac
,ip
,ifconfig
,networksetup
)的功能描述和用法参考了各自操作系统的官方文档和手册页 (man
pages)。 - MAC地址的定义和格式遵循IEEE 802标准(特别是IEEE 802.3以太网和IEEE 802.11无线局域网标准)。
- 关于网络接口命名约定(如Linux的
enpXsY
, macOS的enX
)的通用实践参考了systemd的Predictable Network Interface Names
方案和Apple的开发者文档。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5783.html