我有一台笔记本电脑,它使用一个或多个网络适配器连接到组织的网络。我不确定如何启动该程序,也不确定应该在哪里寻找本机python方法或其他资源。
我想知道如何找到所有使用python连接的网络适配器或NIC。我想尝试在没有第三方库的情况下完成此操作,但是如果我必须这样做也可以。
我最终希望能够编写一个能够连续监视每个网络的连接状态和连接质量的工具。但是,我首先必须找出要连接到哪个网络适配器和多少个网络适配器。
最佳答案
netifaces
是一个好的开始。从docs:
一段时间以来一直困扰着我,没有一种简单的方法可以从Python获取机器网络接口的地址。 [...]
该软件包试图解决该问题。
一些相关的例子:
>>> netifaces.interfaces()
['lo0', 'gif0', 'stf0', 'en0', 'en1', 'fw0']
>>> netifaces.ifaddresses('lo0')
{18: [{'addr': ''}],
2: [{'peer': '127.0.0.1', 'netmask': '255.0.0.0', 'addr': '127.0.0.1'}],
30: [{'peer': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', 'addr': '::1'}, {'peer': '', 'netmask': 'ffff:ffff:ffff:ffff::', 'addr': 'fe80::1%lo0'}]}
用
pip install netifaces
获取。