获取 eth0 的 MAC 的最佳方法是什么?

获取 eth0 的 MAC 的最佳方法是什么?

在 Linux 中有没有更有效的方法来检索 NIC 的 MAC 地址?

这有效:

ip link show dev eth0 | awk ' /link\/ether/ { print $2 }'

但可以通过以下方式找到它:

cat /sys/net/something

答案1

它位于/sys/class/net/eth0/address(或者更准确地说/sys/devices/pciXXXX:XX/XXXX/net/eth0/address,XXX 是您的 PCI 总线 ID,但这在不同系统之间有所不同)。

(顺便说一句,我在find /sys -name eth0查看已识别目录中的文件时发现了这一点。)

答案2

也可以通过以下方式获取ifconfig

kce@thinkpad:~$ /sbin/ifconfig eth0 |grep HWaddr
eth0      Link encap:Ethernet  HWaddr 00:1e:37:cc:ce:cc  

或者如果你只想要 MAC 地址:

kce@thinkpad:~$ /sbin/ifconfig eth0 |awk '/HWaddr/{print $5}'
00:1e:37:cc:ce:cc

答案3

如果你可以安装moreutils程序包,则有一个ifdata工具。说明如下:

ifdata:获取网络接口信息而不解析 ifconfig 输出

以下是一个例子:

me@box:~$ ifdata -ph eth0
00:21:86:61:35:44

相关内容