ARP攻击:导致瞬间掉线和大面积断网的罪魁祸首。在局域网中,通过ARP协议来进行IP地址(第三层)与第二层物理地址(即MAC地址)的相互转换。局域网中的一些设备如路由器、装有TCP/IP协议的电脑等都提供ARP缓存表,以提高通信速度。目前很多带有ARP欺骗功能的攻击软件都是利用ARP协议的这个特点来对网络设备进行攻击,通过伪造的MAC与局域网内的IP地址对应,并修改路由器或电脑的ARP缓存表,使得具有合法MAC的电脑无法与IP对应,从而无法通过路由器上网。在掉线重启路由器后,ARP缓存表会刷新,网络会在短时间内恢复正常,待ARP攻击启动后,又出现断网现象,如此反复,很容易被误断为路由器“死机”,从而使得网络管理员无法及时采取行动迅速恢复局域网。
本次以TP-LINK 路由器TL-R4148为例,介绍一下如何防范ARP攻击:(大部分路由器大同小异,原理是一样)
如果路由器上有“IP与MAC地址绑定”功能,一般可以有效防范ARP攻击。在网络正常时,启用IP与MAC地址绑定功能(如图1),可将局域网内的每一台电脑的MAC与内网IP建立一一对应的关系保存到ARP缓存表中(如图2),此后,局域网即使受到ARP攻击也不能修改ARP缓存表,从根本上排除ARP攻击对路由器的影响,保证局域网的正常。
图1
图2
而且,设置IP与MAC绑定功能很简便,无须逐一输入电脑的IP与MAC,不论局域网规模如何,只需在局域网工作正常时在路由器管理界面的ARP映射表中点击一下“全部绑定”按钮(如图3),就可以完成IP与MAC绑定;点击“全部导入”按钮将已建立的IP与MAC绑定关系保存到系统,即使重新启动也无需重新绑定。
图3
另外,在局域网的设备中,一般只有两类设备带有ARP缓存,一类是路由器,另一类是上网电脑,也只有这两类设备最容易受到ARP攻击。如同路由器受到ARP攻击时数据包不能到达电脑一样,上网电脑受到ARP攻击时,数据包也不会发送到路由器上,而是发送到一个错误的地方,当然也就无法通过路由器上网了。因此,局域网要对付ARP攻击,除对路由器进行IP与MAC绑定以外,在电脑上进行IP与MAC绑定也必不可少。
在电脑上进行IP与MAC绑定该如何操作呢?其实微软的操作系统中都带有ARP这一命令行程序,在电脑的Windows命令行界面中输入“arp -s +路由器IP如192.168.1.1+路由器LAN口MAC地址”就可以将的路由器IP和MAC绑定到电脑的ARP表中。 若通过Windows命令行界面中输入ARP命令来绑定IP与MAC,电脑每次在重启后都需要先输入ARP命令,还有更简单的办法,可以让电脑每次启动时,自动将路由器的IP与MAC绑定到电脑的ARP表中:
STEP 1 新建一个批处理文件如static_arp.bat,注意后缀名为bat。编辑它,在里面加入ARP命令,并保存。
要得到路由器的LAN口MAC地址,可以查看路由器的界面中的“LAN运行状态”。
STEP 2 将建立好的批处理文件static_arp.bat拷贝到系统的启动目录中。电脑每次启动时将自动运行该文件,自动绑定IP与MAC。
STEP 3 将static_arp.bat文件拷贝到局域网内所有电脑的系统启动目录中。
Windows 7系统的设置方法:
1、管理员身份运行命令提示符。
2、命令:netsh -c i i show in 查看网络连接准确名称。如:本地连接、无线网络连接。
3、执行绑定:netsh -c i i add neighbors “网络连接名称” “IP地址” “MAC地址”。
4、绑定完成,电脑重启静态ARP不失效,不用像XP一样建批处理文件。
如图所示:
至此,局域网中的所有电脑都将路由器的IP与MAC绑定到ARP表中,无需再担心因ARP攻击而无法上网。
经验分享:当使用了ARP防范功能(IP和MAC绑定功能)后,电脑应使用固定IP,而不要使用动态IP(通过DHCP自动获取IP),因为若使用动态IP,电脑每次启动时所获得的IP可能不一样,从而可能造成与路由器中保存的IP与MAC绑定条目不一致,这样电脑将无法上网。