语言: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()
函数处替换接口名称的区域失败了。
如果您需要更多信息,请与我们联系。
谢谢。
答案 0 :(得分:1)
你可以做到
list(map(lambda i:netifaces.ifaddresses(i),netifaces.interfaces()))