gpt4 book ai didi

python netifaces - 如何获取当前使用的网络接口(interface)

转载 作者:太空狗 更新时间:2023-10-29 11:24:39 24 4
gpt4 key购买 nike

我在 python 中使用 netifaces 获取本地 ip 地址,但是如何选择当前使用的(系统)网络接口(interface)?请帮帮我。谢谢!

最佳答案

您的要求仍然不完全清楚,因为系统不一定具有单独的“已用”界面。一个系统可能有多个带地址的接口(interface),并且可能使用所有接口(interface)来联系不同的系统。

系统通常(但不总是!)在一个接口(interface)上有一个“默认路由”,通常用于联系系统未直接连接到的主机。如果这是你想要的,你可以使用 Python netifaces模块,像这样:

>>> import netifaces
>>> def_gw_device = netifaces.gateways()['default'][netifaces.AF_INET][1]

这将为您提供默认 IPv4 路由所使用的设备的名称。您可以像这样获取该接口(interface)的 MAC 地址:

>>> macaddr = netifaces.ifaddresses('enp0s25')[netifaces.AF_LINK][0]['addr']

当然,您可以通过解析 ip 命令的输出来获得相同的信息,但是使用 netifaces 模块要干净得多。

关于python netifaces - 如何获取当前使用的网络接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30698521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com