Linux中查看网卡MAC地址有五种方法:一、ifconfig命令查ether字段;二、ip link show查link/ether后字符串;三、读取/sys/class/net/接口名/address文件;四、ethtool -P查永久地址;五、nmcli device show查GENERAL.HWADDR字段。

如果您需要在Linux系统中确认某块网卡的物理地址,则可能是由于网络配置、设备识别或安全审计等需求。以下是查看网卡MAC地址的多种操作途径:
一、使用ifconfig命令查看网卡MAC地址
ifconfig是传统网络配置工具,可直接显示各接口的硬件地址信息,其中MAC地址以“ether”字段标识,适用于大多数已安装net-tools包的系统。
1、打开终端,输入命令:ifconfig,查看所有启用网卡的列表。
2、定位目标网卡(如ens33、wlan0、eth0等),在对应接口输出行中查找ether后跟随的十六进制字符串。
3、若仅需特定网卡,执行:ifconfig ens33 | grep ether(将ens33替换为实际网卡名)。
二、使用ip link命令获取MAC地址
ip命令是现代Linux系统推荐的网络管理工具,其link子命令能精确列出各接口的链路层属性,MAC地址位于“link/ether”字段之后,无需额外解析即可识别。
1、在终端中运行:ip link show,获取全部接口的链路状态。
2、找到目标网卡条目(如第2行显示“2: ens33:
3、在其下一行查找以link/ether开头的内容,其后即为该网卡的MAC地址。
三、读取/sys/class/net/接口名/address文件
Linux内核通过sysfs虚拟文件系统暴露硬件信息,/sys/class/net/目录下每个网卡子目录均包含address文件,内容为纯MAC地址字符串,无需解析命令输出,适合脚本调用。
1、确认网卡名称,可先执行:ls /sys/class/net/,列出所有可用接口。
2、执行:cat /sys/class/net/ens33/address(将ens33替换为实际网卡名)。
3、终端将直接输出类似00:1a:2b:3c:4d:5e的格式化MAC地址。
四、使用ethtool命令查询永久MAC地址
ethtool可访问网卡驱动及底层固件信息,-P选项用于读取网卡EEPROM中烧录的原始物理地址,该值不受软件修改影响,适用于验证真实硬件标识。
1、确保ethtool已安装,如未安装,执行:sudo apt install ethtool(Debian/Ubuntu)或sudo yum install ethtool(RHEL/CentOS)。
2、运行:sudo ethtool -P ens33(将ens33替换为实际网卡名)。
3、输出中Permanent address:后的值即为该网卡出厂设定的MAC地址。
五、通过nmcli命令获取NetworkManager管理的网卡MAC
当系统使用NetworkManager服务管理网络时,nmcli可直接提取其维护的设备元数据,GENERAL.HWADDR字段即为当前生效的MAC地址,适用于桌面环境或systemd-networkd协同场景。
1、在终端中输入:nmcli device show,查看所有被NetworkManager识别的设备。
2、定位目标网卡(如ens33),查找输出中以GENERAL.HWADDR开头的行。
3、该行末尾的十六进制字符串即为该接口当前使用的MAC地址。










