如何从用户空间找到活动的网络接口?

如何从用户空间找到活动的网络接口?

我知道我可以通过解析以下输出来找到当前正在使用哪个网络接口:

# ifconfig

或者

# route

但作为非 root 用户如何获取这些信息呢?有没有办法我可以建立这样一个

$ magic-command

谁的输出将是none loorwlan0eth0取决于所使用的设备..或者甚至是enp3s0f1wlp2s0在奇异的系统上,没有管理员权限?

答案1

像这样的东西吗?

ip addr | awk '/state UP/ {print $2}'
enp0s3:

此命令是作为“常规”(非root)用户在以下位置发出的:

uname -a
Linux centos 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

如果从接口名称中删除尾随很重要:,请使用(例如):

ip addr | awk '/state UP/ {print $2}' | sed 's/.$//'
enp0s3

相关内容