arp

      arp指令用来管理系统的arp缓冲区,可以显示、删除、添加静态mac地址。ARP以各种方式操纵内核的ARP缓存。主要选项是清除地址映射项并手动设置。为了调试目的,ARP程序还允许对ARP缓存进行完全转储。

     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。


1、语法

     arp [-evn]  [-H type]  [-i if]  -a  [hostname]

     arp [-v]  [-i if]  -d  hostname [pub]

     arp [-v]  [-H type]  [-i if]  -s  hostname  hw_ addr [temp]

     arp [-v]  [-H type]  [-i if]  -s  hostname hw_ addr  [netmask nm]  pub

     arp [-v]  [-H type]  [-i if]  -Ds  hostname ifa  [netmask nm]  pub

     arp [-vnD]  [-H type]  [-i if]  -f  [filename]

 

2、选项列表


选项



说明



--help



显示帮助文档



--version



显示命令版本



-H type

--hw-typetype

-t type



在设置或读取ARP缓存时,这个可选参数告诉ARP应该检查哪类条目。此参数的默认值为ether(即IEEE 802.3 10 Mbps以太网的硬件代码0x01)。其他可能的值有,如ARCnet(Arcnet)、PROnet(PRINET)、AX.25(Axis 25)和Net/ROM(Netrom)。



-a[hostname] | --all [hostname]



显示本机的arp缓冲区内容



-dhostname | --deletehostname



从缓冲区删除指定的地址类型



-D | -use-device



使用指定接口的mac地址



-e



使用Linux风格显示



-i if | --device if



显示指定设备的arp缓冲区



-shostnamehw_addr



设置指定主机的mac地址映射



-f filename |  --file filename



类似于-s选项,只是这次地址信息是从filename设置的。数据文件的名称通常是“/etc/ether”,但这不是正式的。如果没有指定文件名“/etc/ether”作为默认值。该文件的格式很简单;它只包含带有硬件地址和由空格分隔的主机名的ASCII文本行。此外,还可以使用pubtempnetmask标志。



-n | --numeric



使用数字方式显示



-v | --verbose



显示执行过程


     在所有需要主机名的地方,人们也可以用虚线小数点表示法输入IP地址。作为兼容性的特例,主机名和硬件地址的顺序可以交换。ARP缓存中的每个完整条目都将被标记为C标志。永久条目用M标记,已发布的条目带有P标志。

 

3、实例

1)添加静态映射


​[root@localhost ~]# arp -i eth0 -s 192.168.1.6 ff:ee:ee:ee:ee:ee        //​​将目标​​ip​​地址映射固定​​mac

​[root@localhost ~]# arp –a                                                     //​​查看​​arp​​缓冲区

​? (10.0.2.2) at 52:54:00:12:35:02 [ether] on eth0​

​? (192.168.1.6) at ff:ee:ee:ee:ee:ee [ether] PERM on eth0​


2)以数字方式显示


​[root@localhost ~]# arp -vn

​Address                  HWtype  HWaddress          Flags Mask            Iface​

​10.0.2.2                 ether   52:54:00:12:35:02   C                     eth0​

​192.168.1.6              ether   ff:ee:ee:ee:ee:ee   CM                    eth0​

​Entries: 2 Skipped: 0Found: 2​