[英]How to get meaningful network interface names instead of GUIDs with netifaces under Windows?
[英]python netifaces - How to get currently used network interface
我在python中使用netifaces获取本地IP地址,但如何选择当前使用的(由系统)网络接口? 请帮帮我。 谢谢!
你问的是什么仍然不完全清楚,因为系统不一定有单独的“使用”界面。 系统可以具有多个具有地址的接口,并且可以使用它们全部来联系不同的系统。
系统通常(但不总是!)具有一个接口的“默认路由”,该接口通常用于联系系统未直接连接的主机。 如果这是你想要的,你可以使用Python netifaces模块,如下所示:
>>> import netifaces
>>> def_gw_device = netifaces.gateways()['default'][netifaces.AF_INET][1]
这将获取默认IPv4路由使用的设备的名称。 您可以像这样获取该接口的MAC地址:
>>> macaddr = netifaces.ifaddresses('enp0s25')[netifaces.AF_LINK][0]['addr']
您当然可以通过解析ip
命令的输出来获取相同的信息,但使用netifaces
模块要清晰得多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.