我这里再稍加概括:
1)安装arpalert和Perl的ARP模块(在Ubuntu中叫libnet-arp-perl软件包)
2)按照参考资料中的说明得到arpdef.pl文件。
3)按照参考资料中的说明修改arpalert.conf。
注:一定要看原文,我这里仅是简单概括。
这是网上一篇教程arp缓存就是ip地址和mac地址关系缓存列表。在windows下
arp
-d
[$ip]
不指定ip地址时清除所有arp缓存。在linux下
arp
-d
$ip
必须指定ip地址才能执行这条命令的此参数,所有在linux系统下
arp
-d
$ip
命令只能清除一个ip地址的对应mac地址缓存,当然可以使用组合命令 *** 作,这也算是linux的一个优点吧。
组合命令清除所有arp缓存:arp
-n|awk
'/^[1-9]/{system("arp
-d
"$1)}'其实linux也有内部命令清除所有arp缓存,但是不太好记忆,用的人很少。以下命令清除eth0接口的所有arp缓存。ip
neigh
flush
dev
eth0
命令红色字体标记
系统初始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
执行清除所有arp 缓存命令
[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),在下一次系统清理垃圾是会清除。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)