我想知道我的centos机箱上的哪个接口是公共的。我使用以下代码获取所有接口的列表:
import psutil
psutil.net_io_counters(pernic=True)
它给我的输出如下:-
{'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, errin=0, errout=0, dropin=0, dropout=0),
'lo': snetio(bytes_sent=23027715005, bytes_recv=23027715005, packets_sent=44148705, packets_recv=44148705, errin=0, errout=0, dropin=0, dropout=0)}
我想知道哪一个是公共的,哪一个是私人的:
这里我知道ens4是公共的,ens5是私有的,lo是环回
我如何使用python实现这一点
现在,我正在使用一个bash命令,该命令将为我提供以下输出:
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'}
输出:
ens4
如何将bash命令转换为python中的内容
一种解决方案是,使用操作系统调用命令:
相关问题 更多 >
编程相关推荐