net-tools工具arp命令
arp指令用来管理系统的arp缓冲区,可以显示、删除、添加静态mac地址。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址与以太网或令牌环物理地址的对应关系。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表(ARP表)。ARP以各种方式操纵内核的ARP缓存。主要选项是清除地址映射项并手动设置。为了调试目的,ARP程序还允许对ARP缓存进行完全转储。CentOS7,Ubnutu16.04,Debian9,openSUSE15等以后版本系统已经默认不再集成这个命令,需要安装相应的软件net-tools
arp的命令格式如下:
ifconfig [选项] <参数>
-v :显示详细的arp缓冲区条目,包括缓冲区条目的统计信息;
-n :以数字方式显示arp缓冲区中的条目;
-i <接口> :指定要操作arp缓冲区的网络接口;
-H <地址类型> :指定arp指令使用的地址类型;
-a <主机> :显示指定主机的所有入口;
-d <主机> :从arp缓冲区中删除指定主机的arp条目;
-D : 使用指定接口的硬件地址;
-s <主机><MAC地址> :设置指定的主机的IP地址与MAC地址的静态映射;
-f <文件>: :类似于-s选项,只是这次地址信息是从filename设置的。数据文件的名称通常是“/etc/ether”,但这不是正式的。如果没有指定文件名“/etc/ether”作为默认值。该文件的格式很简单;它只包含带有硬件地址和由空格分隔的主机名的ASCII文本行。此外,还可以使用pub、temp和netmask标志。
举例:
1、显示详细的arp缓冲区条目
------------------------------------------------------------
[root@CentOS ~]# arp -v
Address HWtype HWaddress Flags Mask Iface
10.10.10.1 ether 0a:00:27:00:00:00 C eth1
192.168.1.1 ether 20:28:3e:fb:43:20 C eth0
Entries: 2 Skipped: 0 Found: 2
------------------------------------------------------------
对上面的参数进行解释
Address #主机的地址
HWtype #地址类型,ether表示以太网
HWaddress #物理地址
Flags Mask #记录标志,"C"表示arp高速缓存中的条目过一段时间会自动清空,"M"表示静态的arp条目,一般不会自动清空
Iface #转发数据的网卡接口
Entries #arp总条目
Skipped #跳过的arp条目
Found #找到的arp条目
2、将目标ip地址映射到固定mac
------------------------------------------------------------
arp -i eth0 -s 192.168.1.6 ff:ee:ee:ee:ee:ee
------------------------------------------------------------
3、从arp缓冲区中删除192.168.1.1主机的arp条目
------------------------------------------------------------
arp -d 192.168.1.1
------------------------------------------------------------