我想检测连接到DHCP并从中获得IP的可用网络接口。我使用以下脚本生成可用适配器的列表。在
import psutil
addrs = psutil.net_if_addrs()
all_network_interfaces = addrs.keys()
available_networks = []
for value in all_network_interfaces:
if addrs[value][1][1].startswith("169.254"):
continue
else:
available_networks.append(value)
print(available_networks)
从169.254开始的是使用自动专用IP寻址(APIPA)的适配器,因此我要过滤掉它们。当我用以太网线连接时,这个脚本显示了相关的适配器,如果我还在连接以太网时通过WiFi连接,它会将WiFi添加到列表中。但是,在断开WiFi连接后,WiFi适配器仍然保留IP,并且仍然存在于列表中。我想是我的适配卡有问题(可能是功能)。什么是最好的方法绕过这一点,只获得与DHCP连接的适配器?在
使用^{} 只需启动并运行网络接口:
样本输出:
^{pr2}$有一个python包get nic,它提供nic状态、up\down、ip addr、mac addr等
有关详细信息,请参阅GitHub页:https://github.com/tech-novic/get-nic-details
相关问题 更多 >
编程相关推荐