在局域网中,通信前必须通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,对网络的正常传输和安全都是一个很严峻的考验。
目前知道的带有ARP欺骗功能的软件有“QQ第六感”、“网络执法官”、“P2P终结者”、“网吧传奇杀手”等,这些软件中,有些是人为手工操作来破坏网络的,有些是作为病毒或者木马出现,使用者可能根本不知道它的存在,所以更加扩大了ARP攻击的杀伤力。
从影响网络连接通畅的方式来看,ARP欺骗有两种攻击可能,一种是对路由器ARP表的欺骗;另一种是对内网电脑ARP表的欺骗,当然也可能两种攻击同时进行。不管怎么样,欺骗发生后,电脑和路由器之间发送的数据可能就被送到错误的MAC地址上,从表面上来看,就是“上不了网”,“访问不了路由器”,“路由器死机了”,因为一重启路由器,ARP表会重建,如果ARP攻击不是一直存在,就会表现为网络正常,所以网吧业主会更加确定是路由器“死机”了,而不会想到其他原因。为此,宽带路由器背了不少“黑锅”。我们来看看如何来防止ARP欺骗。
上面也已经说了,欺骗形式有欺骗路由器ARP表和欺骗电脑ARP两种,我们的防护当然也是两个方面的,首先在路由器上进行设置,来防止路由器的ARP表被恶意的ARP数据包更改;其次,我们也会在电脑上进行一下设置,来防止电脑的ARP表受恶意更改。两个方面的设置都是必须的,不然,如果您只设置了路由器的防止ARP欺骗功能而没有设置电脑,电脑被欺骗后就不会把数据包发送到路由器上,而是发送到一个错误的地方,当然无法上网和访问路由器了。
下面就以TL-ER5110为例说明使用ER系列路由器组网时如何设置防ARP欺骗。
一、设置前准备
当使用了防止ARP欺骗功能(IP和MAC绑定功能)后,最好是不要使用动态IP,因为电脑可能获取到和IP与MAC绑定条目不同的IP,这时候可能会无法上网,可参考以下设置。
1)把路由器的DHCP功能关闭:打开路由器管理界面,“DHCP服务器”->“DHCP服务”,把状态由默认的“启用”更改为“不启用”,保存并重启路由器。
2)给电脑手工指定IP地址、网关、DNS服务器地址,如果您不是很清楚当地的DNS地址,可以咨询您的网络服务商。
二、设置路由器防止ARP欺骗
打开路由器的管理界面,在ARP防护界面中可以看到:
其中
仅允许IP MAC绑定的数据包通过路由器:开启此功能之后路由器不再学习更新自己的ARP表,只允许完全符合已绑定ARP条目的数据包通过路由器。表现为新接入路由器的计算机,若没有添加IP与MAC地址对应关系,该计算机是不能与路由器进行通讯的。或者路由器下的计算机更改了其IP地址,导致与路由器上记录的IP与MAC对应关系不一致,也无法进行通讯。
允许路由器在发现ARP攻击时发送GARP包:GARP又称作免费ARP,是指通过路由器发送ARP包内网的PC可以更新自己的ARP缓存,确保PC ARP表中网关及其MAC地址的对应关系是正确的。
在添加IP与MAC地址绑定的时候,可以手工进行条目的添加,也可以通过“ARP扫描”查看网络中所有的IP与MAC地址的对应关系,通过导入后,进行绑定。
1、手工进行添加,单击“增加单个条目”。
手动添加操作复杂,但是安全性高。在网络中已经存在ARP欺骗或者不确定网络中是否存在ARP欺骗的情况下建议使用手动添加的方式。
填好主机的IP和MAC地址,点击新增,此绑定条目就设置完成了。同样的方法逐条添加其余电脑的ARP条目。
2、通过“ARP扫描”,导入条目,进行绑定。
这种方法简单快捷,但是要确定网络中没有ARP欺骗,否则绑定了错误的IP MAC条目可能会导致内网中某些主机上不了网。
打开“ARP扫描”窗口如下:
选择全选,然后全部导入,所有的绑定条目就设置完成了。
注:ARP扫描的功能不仅仅可以扫描内网网段,也可能扫描WAN口网段,这在一些外网中可能存在ARP欺骗的网络中非常有用,我们可以通过扫描绑定前端网关地址防止前端ARP欺骗。
静态IP地址接入线路,建议将前端网关的ARP信息绑定,绑定方法为:
1)、输入网关地址扫描;
比如:
2)、选中--绑定--导入;
全部绑定条目设置完成之后如图所示:
三、设置电脑防止ARP欺骗
仅仅只在路由器上绑定主机的MAC地址是不能完全解决ARP欺骗问题的,还必须在主机上绑定路由器的MAC地址,进行双向绑定。
windows XP系统的设置方法:
在主机上建立一个文本文件,写入ARP绑定命令:arp –s IP MAC,如下图。
文本文件中填入的IP是路由器的管理地址,此处是192.168.1.1,MAC是路由器LAN口的MAC地址,此处是00-00-01-02-03-05。
保存之后修改其为.bat后缀的批处理文件,比如“arp.bat”。然后将其放入系统启动项中,以后系统每次开机时都会执行这个绑定命令,将路由器的管理IP和MAC地址进行绑定。如图所示:
至此全部的设置就完成了,以后您就再也不用担心ARP欺骗给网络带来的影响了。
Windows Vista和Windows 7系统的设置方法:
1、管理员身份运行命令提示符。
2、命令:netsh -c i i show in 查看网络连接准确名称。如:本地连接、无线网络连接。
3、执行绑定:netsh -c i i add neighbors "网络连接名称" "IP地址" "MAC地址"。
4、绑定完成,电脑重启静态ARP不失效,不用像XP一样建批处理文件。
如图所示:
……