如何查看linux主机mac地址
如何查看linux主机mac地址详细介绍
在 Linux 系统中查看 MAC 地址可以通过多种方式实现,以下是几种常用方法及详细操作说明:
一、使用
ip命令(推荐)
ip命令是现代 Linux 系统中推荐使用的网络配置工具,功能全面且兼容性强,适用于大多数发行版(如 Ubuntu、CentOS、Fedora 等)。
bash
addr
addr show dev eth0
输出示例:
plaintext
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
关键字段:link/ether后的值即为 MAC 地址(如52:54:00:8c:62:44)。
二、使用
ifconfig命令(需安装)
ifconfig是传统网络配置工具,但在部分现代发行版(如 Ubuntu 18.04 及以上)中可能未预装,需手动安装。
bash
net-tools
eth0
输出示例:
plaintext
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
ether 52:54:00:8c:62:44 txqueuelen 1000 (Ethernet)
关键字段:ether后的值即为 MAC 地址。
三、通过系统文件查看
Linux 将硬件信息存储在/sys目录下,可直接读取网络接口的 MAC 地址文件。
bash
/sys/class/net/eth0/address
输出示例:
plaintext
52:54:00:8c:62:44
注意:该方法无需额外工具,适合脚本自动化场景,但需确保接口名称正确(如wlan0、ens33等)。
四、使用
nmcli命令(适用于 NetworkManager 管理的系统)
nmcli是 NetworkManager 的命令行工具,可用于查看网络设备的详细信息。
bash
nmcli device show
nmcli device show eth0
输出示例:
plaintext
GENERAL.DEVICE: eth0GENERAL.TYPE: ethernet
GENERAL.HWADDR: 52:54:00:8c:62:44
关键字段:GENERAL.HWADDR后的值即为 MAC 地址。
五、其他方法
1.
/proc/net/dev文件
该文件记录了网络接口的统计信息,其中包含 MAC 地址。
bash
/proc/net/dev
输出示例:
plaintext
Inter-| Receive | Transmitface |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
eth0: 123456 789 0 0 0 0 0 0 765432 123 0 0 0 0 0 0
关键字段:第一列的接口名称(如eth0)对应行中的 MAC 地址需结合其他工具(如ip addr)确认。
2.
ethtool命令
ethtool可查看网络接口的详细信息,包括 MAC 地址。
bash
eth0
输出示例:
plaintext
driver: e1000eversion: 3.2.6-k
firmware-version: 0.13-4
expansion-rom-version:
bus-info: 0000:02:01.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
关键字段:bus-info中包含 MAC 地址(如0000:02:01.0对应物理地址)。
六、注意事项
- 接口名称:现代 Linux 发行版(如 CentOS 7、Ubuntu 16.04 及以上)采用Predictable Names命名规则,接口名称可能为
eno1、ens33、wlp1s0等,而非传统的eth0。可通过ip link show查看所有接口名称。 - 权限问题:部分命令(如修改网络配置)需使用
sudo权限,但查看 MAC 地址通常无需权限。 - 动态 MAC 地址:某些场景下(如虚拟机或云服务器),MAC 地址可能由系统动态分配,重启后可能变化。
七、总结
| 方法 | 推荐场景 | 命令示例 |
|---|---|---|
ip命令 |
通用,推荐现代 Linux 系统 | ip addr show dev eth0 |
ifconfig |
传统工具,需手动安装 | ifconfig eth0 |
| 系统文件 | 脚本自动化 | cat /sys/class/net/eth0/address |
nmcli |
NetworkManager 管理的系统 | nmcli device show eth0 |
根据实际需求选择合适的方法即可快速获取 Linux 主机的 MAC 地址。