用于查找我在Python中连接的所有网络适配器的脚本

时间:2014-07-25 17:25:33

标签: python network-protocols

我有一台笔记本电脑使用一个或多个网络适配器连接到我组织的网络。我不知道如何开始这个或我应该在哪里寻找本机python方法或其他资源。

我想知道如何使用python发现我连接到的所有网络适配器或NIC。我想尝试在没有第三方库的情况下完成此任务,但如果我必须这样做也很好。

我最终希望能够编写一个能够持续监控每个网络的连接状态和连接质量的工具。但是,我首先要找出我连接的网络适配器的数量和数量。

1 个答案:

答案 0 :(得分:1)

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获取。