命令红色字体标记
系统初始arp环境
[root@esx ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.175 ether 00:24:1D:97:B6:7F C vswif0
192.168.1.120 ether 00:1F:C6:3A:DC:81 C vswif0
192.168.1.51 (incomplete) vswif0
[root@esx ~]# arp -n|awk '/^[1-9]/{print "arp -d " $1}'|sh -x
+ arp -d 192.168.1.175
+ arp -d 192.168.1.120
+ arp -d 192.168.1.51
Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。
组合命令清楚所有arp缓存:
[html] view plaincopy
arp -n|awk '/^[1-9]/{system("arp -d "$1)}'
以上命令必须 root 才可以执行。
使用ip命令清除某一网络接口的arp(下面命令是 eth0 接口)
[html] view plaincopy
ip neigh flush dev eth0
Linux 清除arp缓存是把列表标记为(incomplete),在下一次系统清理垃圾是会清除。
1、按下键盘上的Windows+R组合键,在出现的运行窗口中输入cmd,然后点击确定。
2、然后就打开了cmd.exe程序窗口。
3、在窗口中输入arp -a,即可显示所有接口的当前ARP缓存表。
4、在窗口中输入arp -d,清除ARP缓存,输入arp -a 查看ARP缓存列表。重复上述步骤,直到没有缓存列表为止。
5、然后就可以看到界面上显示未找到arp项,这样就完成了清除arp缓存的 *** 作。
ARP原理 :当访问某个IP,计算机必须知道这个IP的物理地址(MAC地址),这时计算机会发一个广播式的数据包询问:“ipx.x.x.x对应的mac是什么?我是IP y.y.y.y , 我的mac是yy-yy-yy-yy-yy-yy” 整个局域网的机子都收到这个询问,真正拥有这个IP的机子就会回答它:“IP x.x.x.x的mac地址是我这个xx-xx-xx-xx-xx-xx”。 询问的机子会临时保存这个在“IP-MAC对照表”,一段时间不与某IP通讯的话,会删除对应条目。“IP-MAC对照表”中的临时条目就是arp缓存。 另,即使不是正确的机器也可以回答那个询问,回答一个错误的MAC,有可能让询问的机子发数据到错误的机子。这就叫“ARP欺骗”,可以说是利用arp协议设计上的漏洞。防止方法是设置静态“IP-MAC对照条目”。 所以,清除ARP缓存一个防止对照表欺骗,可能可解决因ARP功击导致的不能上网或链接错识的问题.欢迎分享,转载请注明来源:内存溢出
评论列表(0条)