2012-12-17 85 views
0

我想在Linux系统上获得IPV6 IP地址。我正在使用以下命令:Linux命令为IPV6 IP地址比较

ifconfig eth0 | grep "inet6 addr" | awk '{print $3}' 

请建议是否需要改进。 我也想检查IPV6 IP地址是否不等于0:0:0:0:0:0:0:1

这怎么可以做到?

谢谢。 Dnyanesh。

回答

2

IPv6地址可以用几种方式表示;按照几个规则缩写(压缩)。我建议使用命令行ipv6calc工具来让它解释地址并使用该输出。例如:

ifconfig eth0 | grep "inet6 addr" | awk '{print $3}' | \ 
    ipv6calc --addr_to_fulluncompressed 
fe80:0000:0000:0000:dead:beaf:dead:beef/64 

我觉得这个--addr_to_fulluncompressed选项非常有用于比较地址相当可靠。

另一方面,您可以直接使用--out ipv6addrtype和grep for loopback来检查IPv6地址类型,但是在我的安装中,由于某种原因它看起来没有工作。

+0

这是'ipv6addr'not'ipv6addrtype'不是吗? – alk

+0

@alk否,查看'ipv6calc --out -h'的输出。如果地址类型是'loopback',那么它就等于'0:0:0:0:0:0:0:1',对吧? – gertvdijk

+0

Ahok,我看到'ipv6addr'没有任何意义,sry。无论如何,如果我通过'--out ipv6addrtype'它正在打印'输出类型没有实现'... – alk