Linux:查找未配置网卡的 MAC 地址

Linux:查找未配置网卡的 MAC 地址

我有一个 Linux 系统,我想为它的网卡创建自己的 udev 规则。目前没有规则,所以没有配置 ethX。我无法执行ifconfig(除了 之外没有显示任何接口lo)或 grep eth in /var/log/*。有没有办法可以在不查看硬件的情况下从系统内部找出 mac 地址?

答案1

尝试一下(否则 ifconfig 不会显示处于关闭状态的接口)

ifconfig -a

ip address show

答案2

首先在您的系统中安装 lshw。然后 sudo lshw 并检查输出。查找网络部分。在输出中,mac 地址称为 serial:。或者您可以查找以太网。但是,根据您的发行版,nics 可能不会被称为 ethX(逻辑名称)。

答案3

查找设备 MAC 的正确方法是使用命令ip(8)。无论当前配置状态如何,它们都会显示出来。

避免使用 ifconfig

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    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 pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DORMANT qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

正如@MadHatter 在评论中指出的那样,设备所需的模块必须存在并加载到内核中。

相关内容