用win7下的NETSH命令可以有效的防止局域网内的ARP攻击。下面是使用方法:

1.先要在WIN7系统盘下的WINDOWSSYSTEM32下找到CMD.EXE命令右键以管理员身份运行;

先看一下ARP表的状态

ARP -A

接口:   192.168.1.1           00-19-e0-e0-76-ca    动态       

  192.168.1.100         00-1f-c6-31-8a-4b     动态       

  192.168.1.255         ff-ff-ff-ff-ff-ff     静态       

  224.0.0.22            01-00-5e-00-00-16     静态       

  224.0.0.252           01-00-5e-00-00-fc     静态       

  239.255.255.250       01-00-5e-7f-ff-fa     静态       

  255.255.255.255       ff-ff-ff-ff-ff-ff     静态

这里会看到网关和本地的ARP表是动态的,我的目的是让它们成为静态不变的;

2.输入netsh -c "interface ipv4"

这时命令提示符会变为"netsh interface ipv4>"

然后输入show neighbors查看一下你的邻居缓存项的属性。

本人的是WIN7 6956版汉化过的,所以接口名为:“本地连接”

3.知道接口名以后输入:

set neighbors "Loopback Pseudo-Interface 1" "192.168.0.1" "c8-3a-35-08-73-60"

set neighbors "Loopback Pseudo-Interface 1" "192.168.0.101" "00-1b-b1-ab-80-a3"

以上分别为本地连接设置了静态ARP表的信息,“本地连接”为刚才用show neighbors查看到的接口名称,"192.168.1.1" "00-19-e0-e0-76-ca"为网关IP和网关的MAC地址。

下面那条是本地的IP地址和MAC地址。

4.最后EXIT退出。

再输入ARP -A看看是不是静态的了。

接口:   192.168.1.1           00-19-e0-e0-76-ca     静态       

  192.168.1.100         00-1f-c6-31-8a-4b     静态       

  192.168.1.255         ff-ff-ff-ff-ff-ff     静态       

  224.0.0.22            01-00-5e-00-00-16     静态       

  224.0.0.252           01-00-5e-00-00-fc     静态       

  239.255.255.250       01-00-5e-7f-ff-fa     静态       

  255.255.255.255       ff-ff-ff-ff-ff-ff     静态

最后要说明一下,用NETSH命令设置的静态ARP表重启后是不会丢失的,这就是它与ARP命令的区别。

还等什么赶快试试去吧。

别外要想有效防止ARP还要在路由器里设置好表态路由表,这样才能最有效的防止ARP。