如何打印给定 mac 的接口?
How to print the interfaces given a mac?
在给定 mac 的情况下是否有打印接口名称的命令或者我应该解析它?如果有的话,有可靠的方法吗?
basename -a $(ls /sys/devices/**/net/* -d)
ifconfig | cut -c 1-8 | sort | uniq -u
好像不靠谱
解析 ifconfig
输出始终是一个不确定的命题(因为 ifconfig
旨在生成人类可读的输出,而不是机器可读的输出)。
最好的信息来源是 /sys/class/net/<device>/address
文件。例如:
$ 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
...然后从该路径获取接口名称。
在给定 mac 的情况下是否有打印接口名称的命令或者我应该解析它?如果有的话,有可靠的方法吗?
basename -a $(ls /sys/devices/**/net/* -d)
ifconfig | cut -c 1-8 | sort | uniq -u
好像不靠谱
解析 ifconfig
输出始终是一个不确定的命题(因为 ifconfig
旨在生成人类可读的输出,而不是机器可读的输出)。
最好的信息来源是 /sys/class/net/<device>/address
文件。例如:
$ 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
...然后从该路径获取接口名称。