arp命令

arp命令

  arp是Address Resolution Protocol(ARP)的缩写,即地址解析协议。
  arp命令是用来操作内核的Address Resolution Protocol(ARP)缓存。
  arp命令最简单的用法是用来查看ARP缓存内的所有记录:

[root@localhost ~]# arp
Address                 HWtype HWaddress         Flags Mask            Iface
192.168.1.2             ether 00:e0:4c:46:70:2c C                     eth0
192.168.1.11             ether 08:00:27:2b:08:6c C                     eth0
192.168.1.1             ether 5c:63:bf:61:9f:24 C                     eth0
[root@localhost ~]#

  Flags Mask列可能的值有三个:C表示complete,M表示permanent,P表示published。
  可以只查看指定主机/IP的的ARP记录,例如:
  显示BSD风格的输出格式:

[root@localhost ~]# arp -a 192.168.1.11
? (192.168.1.11) at 08:00:27:2b:08:6c [ether] on eth0
[root@localhost ~]#

  显示Linux风格的输出格式:

[root@localhost ~]# arp -e 192.168.1.11
Address                 HWtype HWaddress         Flags Mask            Iface
192.168.1.11             ether 08:00:27:2b:08:6c C                     eth0
[root@localhost ~]#

  可以只查看指定网络接口的ARP记录,例如:

[root@localhost ~]# arp -i eth0
Address                 HWtype HWaddress         Flags Mask            Iface
192.168.1.2             ether 00:e0:4c:46:70:2c C                     eth0
192.168.1.11             ether 08:00:27:2b:08:6c C                     eth0
192.168.1.1             ether 5c:63:bf:61:9f:24 C                     eth0
[root@localhost ~]#

  删除一条ARP记录的语法是:
arp [-i < 接口名 >] -d < IP地址 >
  可以删除指定主机/IP对应的所有ARP记录,例如:

arp -d 192.168.1.11

  可以删除指定主机/IP中指定网络接口的ARP记录,例如:

arp -i eth0 -d 192.168.1.11

  可以使用ip命令一次性清除所有ARP缓存:

ip -s -s neigh flush all

  可以使用选项-s添加一条静态ARP记录的语法是:
arp -s < IP地址 > < MAC地址 >
  例如:

[root@localhost ~]# arp
Address                 HWtype HWaddress         Flags Mask            Iface
192.168.1.2             ether 00:e0:4c:46:70:2c C                     eth0
192.168.1.1             ether 5c:63:bf:61:9f:24 C                     eth0
[root@localhost ~]# arp -s 192.168.1.11 08:00:27:2b:08:6c
[root@localhost ~]# arp
Address                 HWtype HWaddress         Flags Mask            Iface
192.168.1.2             ether 00:e0:4c:46:70:2c C                     eth0
192.168.1.11             ether 08:00:27:2b:08:6c CM                    eth0
192.168.1.1             ether 5c:63:bf:61:9f:24 C                     eth0
[root@localhost ~]#