netifaces:试图获取Linux中所有接口的ipaddress

时间:2016-02-05 06:29:43

标签: python linux ubuntu ip-address

  

语言:Python 3.x

     

操作系统:Ubuntu 14.04

如何通过使用带有netifaces模块的Python 3.X或使用任何其他模块来获取所有接口IP地址。

>>> netifaces.interfaces()
['lo', 'eth0', 'eth1']

>>> netifaces.interfaces()
['lo', 'eth0', 'eth1']
>>> netifaces.ifaddresses('eth0')
{17: [{'broadcast': 'ff:ff:ff:ff:ff:ff', 'addr': '08:00:27:5b:24:09'}], 2: [{'broadcast': '10.0.2.255', 'netmask': '255.255.255.0', 'addr': '10.0.2.15'}], 10: [{'netmask': 'ffff:ffff:ffff:ffff::', 'addr': 'fe80::a00:27ff:fe5b:2409%eth0'}]}

我想用

>>> len(netifaces.interfaces())
3

并希望开发一些while循环,它为我的系统中的所有交互带来IPAddress。但是在netifaces.ifaddress()函数处替换接口名称的区域失败了。

如果您需要更多信息,请与我们联系。

谢谢。

1 个答案:

答案 0 :(得分:1)

你可以做到

list(map(lambda i:netifaces.ifaddresses(i),netifaces.interfaces()))