linux如何获取服务器的mac地址吗
linux如何获取服务器的mac地址吗详细介绍
在 Linux 系统中,获取服务器 MAC 地址(即网络接口的物理地址)的方法有多种,以下是常用的几种方式:
方法一:使用
ip 命令(推荐,现代 Linux 通用)
ip 命令是新一代网络配置工具,功能强大且被广泛支持。
命令示例:
bash
addr show
show
输出示例(以 enp0s3 接口为例):
plaintext
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether **08:00:27:1c:3e:4a** brd ff:ff:ff:ff:ff:ff
- 其中
link/ether后的08:00:27:1c:3e:4a即为 MAC 地址。
方法二:使用
ifconfig 命令(经典工具,需安装
net-tools 包)
如果系统中存在 ifconfig 命令(旧版工具,部分新系统可能未默认安装):
命令示例:
bash
enp0s3
输出示例:
plaintext
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500ether **08:00:27:1c:3e:4a** txqueuelen 1000 (Ethernet)
...
ether后的十六进制字符串即为 MAC 地址。
方法三:直接读取接口文件(适用于脚本或编程)
每个网络接口的 MAC 地址存储在 /sys/class/net/接口名/address 中:
命令示例:
bash
/sys/class/net/* $iface: $iface/address"
/sys/class/net/enp0s3/address
输出示例:
plaintext
enp0s3: 08:00:27:1c:3e:4a
方法四:使用
nmcli 命令(适用于 NetworkManager 管理的系统)
如果系统使用 NetworkManager 管理网络:
命令示例:
bash
nmcli device show
输出示例(节选):
plaintext
GENERAL.DEVICE: enp0s3GENERAL.TYPE: ethernet
GENERAL.HWADDR: **08:00:27:1C:3E:4A** # MAC 地址
...
说明
- 接口名称:常见接口名如
eth0、enp0s3、wlan0(无线)等,需根据实际环境替换命令中的接口名。 - 权限:普通用户可查看自身有权限的接口,管理员(或
sudo)可查看所有接口。
根据以上方法,选择适合你系统环境的方式即可获取 MAC 地址。