我试图获取接口的mac_address,直到现在我能够得到这个
ifconfig | grep HWaddr
eth0 Link encap:Ethernet HWaddr 98:BE:94:24:41:62
eth1 Link encap:Ethernet HWaddr 98:BE:94:24:41:63
eth2 Link encap:Ethernet HWaddr 98:BE:94:24:41:64
eth3 Link encap:Ethernet HWaddr 98:BE:94:24:41:65
usb0 Link encap:Ethernet HWaddr 9A:BE:94:24:41:61
是否有任何一行命令来获取接口链接的mac_address?
答案 0 :(得分:1)
cat /sys/class/net/$(ip route show default | awk '/default/ {print $5}')/address
ip route show default | awk '/default/ {print $5}'
打印您的默认接口名称。然后你从/sys/class/net/IFACE_NAME/address
答案 1 :(得分:0)
您可以尝试使用此方法获取界面的mac地址。如果检查接口名称,MAC地址是没有前导空格的行上的第一个和最后一个字段。
ifconfig -a |
awk '/^[a-z]/ { iface=$1; mac=$NF; next }
/inet addr:/ { print iface, mac }'
或非常简单,你可以使用这个
cat /sys/class/net/$(ip route show default | awk '/default/ {print $5}')/address
这实际上返回:bc:f8:6b:bd:55:00(eth0的示例macaddress)
答案 2 :(得分:0)
您可以尝试以下解决方案:
ifconfig
的接口
模式: ifconfig | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
ifconfig
,因此您可以像这样使用ip
: ip add | grep link/ether | awk '{print $2}'
cat /sys/class/net/*/address