2014-08-28 157 views
-1

IP鄰居爲某些設備返回IPV6地址,儘管這些設備都具有IPV4。我怎樣才能設置它,使它只返回IPV4地址?IP鄰居獲取IPV4地址

fe80::a7a:4cff:fe9f:a03a dev br-lan lladdr 08:7a:4c:9f:a0:3a STALE 
fe80::8ebe:beff:fede:afaf dev br-lan lladdr 8c:be:be:de:af:af STALE 
fe80::ba8d:12ff:fe24:3076 dev br-lan lladdr b8:8d:12:24:30:76 STALE 
192.168.0.22 dev br-lan FAILED 
192.168.0.21 dev br-lan lladdr b8:8d:12:24:30:76 DELAY 
192.168.0.1 dev br-lan lladdr 00:00:00:00:02:00 STALE 
+0

我不熟悉IP的鄰居是怎麼叫,但你可以管你輸出爲grep,如下所示:'grep「[[:digit:]] {1,3} \。[[:digit:]] {1,3} \。[[:digit:]] {1,3} \ 。[[:digit:]] {1,3}「-E' – 2014-08-28 17:58:11

+0

@ChrisForrence'ip neigh show'。 – admdrew 2014-08-28 17:59:27

回答

2

I 相信ip nei s to 0/0ip nei s to 0::0/0分別只顯示IPv4和IPv6地址。

$ ip nei help 
Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ] 
      [ nud { permanent | noarp | stale | reachable } ] 
      | proxy ADDR } [ dev DEV ] 
     ip neigh {show|flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ] 
+1

喜歡這個答案,保存。 – admdrew 2014-08-28 19:05:59

1

您可以將IP鄰居的輸出傳輸到grep,只顯示那些匹配IPv4地址的IP地址。

ip neigh show | \ 
    grep "^[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}" -E 

爲了解釋表達式,它從字符串的開始處搜索一到三位數字,後跟一個句點。這個重複三次,然後結束,最後搜索一到三位數字。

2

所有ip命令採取-family inet選項,或-4的簡稱。

man ip(8)

OPTIONS := ... -f[amily] { inet | inet6 | ipx | dnet | link } 

...

-4  shortcut for -family inet. 

所以,你可以做

ip -4 neigh show