如何在linux下获取接口的IPv6地址

时间:2010-08-02 14:53:12

标签: python linux ipv6

你知道如何在python2.6中获得我的一个接口的IPv6地址之一。我尝试了一些套接字模块,它让我无处可去。

感谢。

3 个答案:

答案 0 :(得分:5)

netifaces模块应该这样做。

import netifaces
addrs = netifaces.ifaddresses('eth0')
addrs[netifaces.AF_INET6][0]['addr']

答案 1 :(得分:0)

你可以简单地用子进程运行'ifconfig'。*调用并解析输出。

答案 2 :(得分:-4)

我肯定会这样做,即使我发现它真的很难看,它也会很好用。

step1 = Popen(['ip','addr','show','br0'],stdout=PIPE)
step2 = Popen(['grep','inet6'],stdout=PIPE,stdin=step1.stdout)
step3 = Popen(['sed','-e','/fe80/d','-e','s/ *inet6 *//g','-e','s/\/64.*$//g'],stdout=PIPE,stdin=step2.stdout)
step4 = Popen(['tail','-n1'],stdout=PIPE,stdin=step3.stdout)
step4.communicate()[0]

再次感谢您的帮助。