维护或查看系统arp缓存,该命令已废弃,使用ip neigh代替。
arp为地址解析协议,将给定的ipv4地址在网络中查找其对应的MAC地址。
一般会使用arp协议获取局域网内的主机MAC,所以局域网主机之间也互称为网络邻居。
arp命令
arp命令语法:
arp -n -v -i # 查看arp缓存
arp -i ethX -d hostname # 针对X端口 删除arp缓存条目
选项说明:
-n:不解析ip地址为名称
-v:详细信息
-i:指定操作的接口
-d:删除一个arp条目
hostname:操作该主机的arp条目,除了删除还有其他动作,如手动添加主机的arp条目,此处就不解释该用法了
例如:
[root@xuexi ~]# arp -n
Address
HWtype
HWaddress
Flags
Mask
Iface
192.168.100.1 ether 00:50:56:c0:00:08 C eth1
192.168.100.254 ether 00:50:56:e7:e1:d4 C eth0
192.168.100.70 ether 00:0c:29:71:81:64 C eth0
192.168.100.1 ether 00:50:56:c0:00:08 C eth0
192.168.100.2 ether 00:50:56:e2:16:04 C eth1
192.168.100.254 ether 00:50:56:e7:e1:d4 C eth1
192.168.100.2 ether 00:50:56:e2:16:04 C eth0
其实查看的信息是/proc/net/arp文件中的内容。
[root@xuexi ~]# cat /proc/net/arp
IP address HW type Flags HW address Mask
Device
192.168.100.1
0x1
0x2
00:50:56:c0:00:08
* eth1
192.168.100.254
0x1
0x2
00:50:56:e7:e1:d4 * eth0
192.168.100.70
0x1
0x2
00:0c:29:71:81:64
* eth0
192.168.100.1
0x1
0x2
00:50:56:c0:00:08
* eth0
192.168.100.2
0x1
0x2
00:50:56:e2:16:04
* eth1
192.168.100.254
0x1
0x2
00:50:56:e7:e1:d4 * eth1
192.168.100.2
0x1
0x2
00:50:56:e2:16:04
* eth0
[root@xuexi ~]# arp -d 192.168.100.70 -i eth0 # 删除arp缓存条目
arp命令一次只能删除一条arp条目,要批量删除或清空整个arp条目,使用ip neigh flush命令。如:
[root@xuexi ~]# ip neigh flush all # 清空所有
[root@xuexi ~]# ip neigh flush dev eth0 # 删除eth0上缓存的arp条目
arping命令
arping用于发送arp请求报文,解析并获取目标地址的MAC。默认将先发送广播报文,收到回复后再发送单播报文,局域网内所有主机都能收到广播报文,但只有目标主机才会回复自己的MAC地址。
注意:发送arp请求报文实际上是另类的ping,所以可以探测目标是否存活,也需要和目标通信,通信时目标主机上也会缓存本主机(即源地址)的arp条目。
语法:
arping [-fqbDU]
[-c count]
[-w timeout]
[-I device]
[-s source] destination
-f :
收到第一个reply就立即退出
-q :
安静模式,什么都不输出
-b :
只发送广播,不发送单播
-D :
地址冲突检测
-U :
主动更新邻居的arp缓存(Unsolicited ARP mode)
-c count :
发送多少个arp请求包后退出
-w timeout :
等待reply的超时时间
-I device :
使用哪个接口发送请求包。发送arp请求包接口的MAC地址将缓存在目标主机上
-s source :
指定arp请求报文中源地址,若发送的接口和源地址不同,则目标主机将缓存该地址和接口的MAC地址,而非该源地址所在接口的MAC地址
destination :
向谁发送arp请求报文,即要获取该IP或主机名的MAC地址
例如:
(1).请求解析192.168.100.70主机的MAC地址
[root@xuexi ~]# arping -f 192.168.100.70
这将会发送广播报文,直到收到192.168.100.70的回复才退出。
同时,192.168.100.70也会缓存本机的IP和MAC对应条目,由于此处没有指定请求报文的发送接口和源地址,所以发送报文时是根据路由表来选择接口和对应该接口地址的。
(2).指定发送一个请求报文给192.168.100.70就退出,发送报文的接口为eth1,并指定请求报文中的源地址为本机eth0接口上的地址192.168.100.54
[root@xuexi ~]# arping -c 1
-I eth1 -s 192.168.100.54
192.168.100.70
发送这样的arp请求包,将会使得目标主机192.168.100.70缓存本机的arp条目为”192.168.100.54 MAC_eth1”,但实际上,192.168.100.54所在接口的MAC地址为MAC_eth0。
arping命令仅能实现这种简单的arp欺骗,更多的arp欺骗方法可以使用专门的工具。
(3).探测对方主机是否存活
例如发送4个探测报文,有回复就说明对方存活
[root@xuexi ~]# arping -c 4
-I eth0 192.168.100.2
ARPING 192.168.100.2
from
192.168.100.54 eth0
Unicast reply from
192.168.100.2
[00:50:56:E2:16:04]
0.593ms
Unicast reply from
192.168.100.2
[00:50:56:E2:16:04]
0.930ms
Unicast reply from
192.168.100.2
[00:50:56:E2:16:04]
0.868ms
Unicast reply from
192.168.100.2
[00:50:56:E2:16:04]
0.844ms
Sent
4 probes (1 broadcast(s))
Received
4 response(s)
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://www.hqyman.cn/post/7479.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~