IP邻居获取IPV4地址

时间:2014-08-28 17:51:14

标签: linux networking

IP Neighbor返回某些设备的IPV6地址,尽管这些设备都有IPV4。我如何设置它以便它只返回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

4 个答案:

答案 0 :(得分:2)

相信 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 :(得分: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

答案 2 :(得分:1)

作为the man page states

  

IPv4邻居表也称为另一个名称 - ARP表。

请尝试arp -a

编辑:

nodakai's answer更好,因为它保留ip neigh arp没有的{{1}}输出。

答案 3 :(得分:1)

您可以将IP Neighbor的输出通过管道传输到grep,仅显示与IPv4地址匹配的IP地址。

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

为了解释表达式,它从字符串的开头搜索一到三个数字,然后是句点。重复三次,然后最终搜索一到三位数。