目前提到获取MAC地址的所有解决方案都是使用eth0。但是如果我的接口以eth1开头怎么办?另外,在OS X上,接口名称也不同。
此外,接口eth0可能存在但未使用。即它未激活,没有IP。
那么有没有一种方法可以获取第一个可用接口的MAC地址。(即它具有inet地址,我甚至不想要一个具有inet6的地址)。
例如
eth0 Link encap:Ethernet HWaddr <some addr>
inet6 addr: <some addr> Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:123
RX packets:123 errors:123 dropped:123 overruns:123 frame:123
TX packets:123 errors:123 dropped:123 overruns:123 carrier:123
collisions:123 txqueuelen:123
RX bytes:123 (123 MB) TX bytes:123 (123 KB)
Interrupt:123 Memory:00000000-00000000
eth1 Link encap:Ethernet HWaddr <some addr>
inet addr:<some addr> Bcast:<some addr> Mask:<some addr>
inet6 addr: <some addr> Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:123 Metric:123
RX packets:123 errors:123 dropped:123 overruns:123 frame:123
TX packets:123 errors:123 dropped:123 overruns:123 carrier:123
collisions:123 txqueuelen:123
RX bytes:123 (123 MB) TX bytes:123 (123 KB)
Interrupt:123 Memory:00000000-00000000
注意:我已经更改了输出的值。
所以在这种情况下,我想要 eth1 的 HWaddr 而不是 eth0 的。 我该怎么找到它?另外,它应该适用于所有 Linux 发行版。