如何打印公共网络接口名称?

问题描述

我想知道我的centos框上的哪个接口是公共的。我正在使用下面的代码获取所有接口的列表:

node a

它给我的输出如下:-

import psutil
psutil.net_io_counters(pernic=True)

我想知道哪个是公开的,哪个是私有的:

在这里,我知道ens4是公共的,ens5是私有的,lo是回送。

如何使用python做到这一点?

到目前为止,我正在使用bash命令,该命令为我提供输出

{'ens4': snetio(bytes_sent=451795206850898,bytes_recv=282993376354381,packets_sent=2467559041353,packets_recv=1909886336553,errin=0,errout=0,dropin=0,dropout=0),'ens5': snetio(bytes_sent=686206758798,bytes_recv=468470603173,packets_sent=1233102227,packets_recv=1545708349,'lo': snetio(bytes_sent=23027715005,bytes_recv=23027715005,packets_sent=44148705,packets_recv=44148705,dropout=0)}

输出

ip -o addr show scope global | awk '{split($4,a,"/"); print $2" : "a[1]}' | grep -v -E '192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]' | awk '{print $1'}

如何将bash命令转换为python中的内容

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)