如何在Linux下获取接口的IPv6地址
你知道怎么用Python 2.6获取我某个网络接口的IPv6地址吗?我尝试过用socket模块,但没有找到解决办法。
谢谢。
6 个回答
0
你可以简单地用一个子进程来运行'ifconfig'命令,然后解析它的输出结果。
5
这个 netifaces 模块应该可以帮你解决这个问题。
import netifaces
addrs = netifaces.ifaddresses('eth0')
addrs[netifaces.AF_INET6][0]['addr']
-6
我肯定会选择这个,虽然我觉得它看起来真的很丑,但应该能很好地工作。
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]
再次感谢你的帮助。