本章我们简单介绍一下Linux中的arp命令,在此做一个记录。

1. arp指令

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

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

1.1 基本语法

SYNOPSIS
       arp [-vn] [-H type] [-i if] [-ae] [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 ifname [netmask nm] pub

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

1.2 模式(mode)

1) 当不指定任何mode时,arp指令会打印当前的缓存条目。我们可以通过指定硬件地址类型、网络接口名称或者主机地址来打印对应的条目。

2) -d address
	通过此模式来从ARP缓存表中删除一个条目。要执行此操作,我们通常需要具有root或者netadmin权限。

3) -s address hw_addr
	通过此模式来设置一个arp缓存条目。其中hw_addr的格式取决于硬件类型。例如,对于Ethernet类型的硬件,hw_addr通常是一个6
	字节的hexadecimal,中间以冒号分割;

1.3 选项列表

1) -n, --numeric
	适用数字方式显示地址信息

2) -H type, --hw-type type, -t type
	当设置或读取ARP缓冲区时,本选项用于告诉ARP命令获取哪一种类型的entries。本参数的默认值为ether(比如硬件代码0x01表示
	IEEE 802.3 10 Mbps以太网)。Other values might include network technologies such as ARCnet (arcnet) ,
	PROnet(pronet) , AX.25 (ax25) and NET/ROM (netrom)


3) -a
	使用BSD风格输出结果

4) -e
	使用默认的Linux风格输出结果

5) -D, --use-device
	使用对应网卡接口的名称来指定arp命令应该访问的entry,而不是使用该网卡的hw_addr。

6)  -i If, --device If
	用于选择指定的网络接口。当打印ARP缓冲条目时,通过此选项指定打印哪个网卡接口;当设置永久或临时的ARP条目时,将entry绑定到
	指定的网卡接口;假如未使用本选项,则内核会基于路由表来猜测此选项的值。


7)-f filename, --file filename
	与-s选项类似,只是此时地址信息取自于filename。当我们要建立大量的ARP entries时,我们可以使用此选项导入。通常filename的
	名称未/etc/ethers。而文件的格式也很简单,每一行为hostname和硬件地址,中间以空格分割。

1.4 实例

1) 添加静态映射

# arp -i eth0 -s 192.168.1.6 ff:ee:ee:ee:ee:ee        //将目标ip地址映射固定mac

# 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) 以数字方式显示

# arp -vn
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.180.1            ether   00:50:56:c0:00:08   C                     ens33
192.168.180.2            ether   00:50:56:e2:b3:2e   C                     ens33
192.168.180.254          ether   00:50:56:fe:de:86   C                     ens33
Entries: 3      Skipped: 0      Found: 3



[参看]

  1. Linux基础命令—arp