在Linux系统中,网卡地址(通常指MAC地址)是网络设备的硬件标识符,用于在网络中唯一标识网卡设备,掌握查看网卡地址的方法是系统管理和网络排查的基础技能,本文将详细介绍多种查看网卡地址的命令行方法,涵盖不同Linux发行版和常见场景,并解释相关参数与输出含义,帮助读者全面掌握这一技能。

使用 ip 命令查看网卡地址
ip 命令是Linux系统中强大的网络配置工具,取代了传统的 ifconfig 命令(在较新发行版中可能默认未安装),通过 ip link 或 ip addr 可以快速查看网卡的MAC地址。
基本语法
ip link show
或
ip addr show
示例输出
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:1c:23:45:67:89 brd ff:ff:ff:ff:ff:ff
输出解析
eth0、wlan0分别为有线网卡和无线网卡的设备名。link/ether后跟随的即为MAC地址(如00:1a:2b:3c:4d:5e),格式为6组十六进制数,用冒号分隔。brd为广播地址,默认为全ff的组合。
查看特定网卡的MAC地址
若只想查看某个网卡(如 eth0)的地址,可指定设备名:
ip link show eth0
使用 ifconfig 命令查看网卡地址
ifconfig 是传统的网络配置工具,在CentOS 7之前的版本、Ubuntu 18.04及更早版本中默认可用,虽然逐渐被 ip 命令取代,但部分系统仍会使用。
基本语法
ifconfig
查看所有网卡信息,或指定网卡名:

ifconfig eth0
示例输出
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:1a:2b:3c:4d:5e txqueuelen 1000 (Ethernet)
RX packets 12345 bytes 1234567 (1.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6789 bytes 987654 (964.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
输出解析
ether字段后即为MAC地址(如00:1a:2b:3c:4d:5e)。- 若
ifconfig命令不可用,可通过包管理器安装,例如在Ubuntu/Debian中:sudo apt install net-tools
在CentOS/RHEL中:
sudo yum install net-tools
使用 ethtool 命令查看网卡地址
ethtool 是用于查询和设置网卡参数的工具,不仅能查看MAC地址,还能获取网卡速率、双工模式等详细信息。
基本语法
ethtool eth0
示例输出
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off
Supports Wake-on: g
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Permanent MAC: 00:1a:2b:3c:4d:5e
关键信息
Permanent MAC字段显示网卡的永久MAC地址(通常与当前MAC地址一致,除非通过软件修改)。
安装 ethtool
若系统未安装,可通过包管理器安装:
# Ubuntu/Debian sudo apt install ethtool # CentOS/RHEL sudo yum install ethtool
使用 sysfs 文件系统查看网卡地址
Linux内核通过 sysfs 虚拟文件系统暴露设备信息,网卡MAC地址也可通过直接读取系统文件获取,适合脚本编程或自动化场景。
查看路径
cat /sys/class/net/eth0/address
示例输出
00:1a:2b:3c:4d:5e
说明
- 该方法仅显示纯MAC地址,无其他冗余信息,适合在Shell脚本中直接调用。
- 若需查看所有网卡的MAC地址,可结合
ls命令遍历/sys/class/net/目录:for iface in /sys/class/net/*; do echo "$(basename $iface): $(cat $iface/address)" done
使用 nmcli 命令查看网卡地址(NetworkManager工具)
在Modern Linux发行版(如Ubuntu 20.04+、CentOS 8+)中,NetworkManager是主流的网络管理工具,nmcli 是其命令行接口,可查看网卡的MAC地址及网络配置。

基本语法
nmcli connection show
查看所有网络连接,或指定连接名:
nmcli connection show "有线连接 1"
示例输出
connection.id: eth0 connection.uuid: 12345678-1234-1234-1234-1234567890ab connection.type: 802-3-ethernet connection.interface-name: eth0 mac-address: 00:1A:2B:3C:4D:5E
关键信息
mac-address字段显示MAC地址(注意格式为全大写且无冒号,部分版本可能保留冒号)。
查看活跃网卡的MAC地址
nmcli device show eth0
使用 lshw 或 hwinfo 查看硬件级别的网卡信息
若需获取网卡更详细的硬件信息(如制造商、型号等),可使用 lshw 或 hwinfo 工具,这些工具会列出包括MAC地址在内的硬件属性。
使用 lshw
sudo lshw -C network
示例输出
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0.0
bus info: pci@0000:02:00.0
logical name: eth0
version: 06
serial: 00:1a:2b:3c:4d:5e
size: 1Gbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
使用 hwinfo
sudo hwinfo --network
安装工具
# Ubuntu/Debian sudo apt install lshw hwinfo # CentOS/RHEL sudo yum install lshw hwinfo
常见问题与注意事项
- MAC地址格式:Linux中MAC地址通常显示为
XX:XX:XX:XX:XX:XX(十六进制,冒号分隔),部分工具可能显示为 或无分隔符(如00-1A-2B-3C-4D-5E),本质相同。 - 虚拟网卡:虚拟机(如KVM、VMware)或容器(Docker、LXC)会生成虚拟网卡,其MAC地址可能是随机生成的或手动指定的,可通过上述方法区分物理与虚拟网卡。
- MAC地址修改:若发现MAC地址与硬件标识不符,可能是通过
macchanger等工具临时修改,或虚拟网机的配置导致。 - 权限问题:部分命令(如
ethtool、lshw)需要root权限执行,可通过sudo提升权限。
本文介绍了Linux系统中查看网卡地址的多种方法,包括 ip、ifconfig、ethtool、sysfs、nmcli 及硬件信息工具 lshw/hwinfo,不同工具适用于不同场景:ip 和 ifconfig 适合快速查看;ethtool 和 sysfs 适合脚本自动化;nmcli 适合NetworkManager管理的系统;硬件信息工具则适合深度排查,熟练掌握这些方法,可有效提升网络管理效率,快速定位网卡相关问题。

















