如何打印给定mac的接口?

时间:2016-03-31 17:27:15

标签: bash ifconfig

是否有命令在给定mac的情况下打印接口名称或者我应该解析它?如果可以的话,有可靠的方法吗?

basename -a $(ls /sys/devices/**/net/* -d)

ifconfig   | cut -c 1-8 | sort | uniq -u

似乎不可靠

1 个答案:

答案 0 :(得分:2)

解析ifconfig输出始终是一个不确定的命题(因为ifconfig旨在生成人类可读的输出,而不是机器可读的输出。)

最好的信息来源是/sys/class/net/<device>/address个文件。 E.g:

$ cat /sys/class/net/wlp3s0/address 
3c:a9:f4:5a:8b:24

要从MAC地址向后工作到接口名称,您可以执行以下操作:

$ grep -l 3c:a9:f4:5a:8b:24 /sys/class/net/*/address
/sys/class/net/wlp3s0/address

...然后从该路径获取接口名称。