首页 > 代码库 > arp 防范和排除

arp 防范和排除

近段时间,看到很多朋友的求助公司网络遭受ARP攻击。我跟大家分享一下我是如何在网络中防止ARP攻击。



首先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地址绑定功能(如图一),可将公司内的每一台电脑的MAC与内网IP建立一一对应的关系保存到ARP缓存表中(如图二),如果公司网络即使受到ARP攻击也不能修改ARP缓存表,从根本上排除ARP攻击对路由器的影响,保证其他用户网络的正常运营。





图一




图二




  而且,设置IP与MAC绑定功能很简便,无须逐一输入电脑的IP与MAC,不论公司规模如何,只需在公司工作正常时在路由器管理界面的ARP映射表中点击一下“全部绑定”按钮(如图三),就可以完成IP与MAC绑定;点击“全部导入”按钮将已建立的IP与MAC绑定关系保存到系统,即使重新启动也无需重新绑定。





图三




  另外,在公司的设备中,一般只有两类设备带有ARP缓存,一类是路由器,另一类是用户上网电脑,也只有这两类设备最容易受到ARP攻击。如同路由器受到ARP攻击时数据包不能到达电脑一样,上网电脑受到ARP攻击时,数据包也不会发送到路由器上,而是发送到一个错误的地方,当然也就无法通过路由器上网了。因此,公司要对付ARP攻击,除对路由器进行IP与MAC绑定以外,在电脑上进行IP与MAC绑定也必不可少。



  对路由器进行的IP与MAC绑定上面已经介绍过,在电脑上进行IP与MAC绑定该如何操作呢?其实微软的操作系统中都带有ARP这一命令行程序,运行 cmd 在电脑的Windows命令行界面中输入“arp -s回车路由器IP如192.168.1.1+路由器LAN口MAC地址”就可以将的路由器IP和MAC绑定到电脑的ARP表中。 若通过Windows命令行界面中输入ARP命令来绑定IP与MAC,电脑每次在重启后都需要先输入ARP命令,还有更简单的办法,可以让电脑每次启动时,自动将路由器的IP与MAC绑定到电脑的ARP表中:



  第一:新建一个批处理文件如static_arp.bat,注意后缀名为bat。编辑它,在里面加入ARP命令,并保存。







  要得到路由器的LAN口MAC地址,可以查看路由器的界面中的“LAN运行状态”。



  第二:
将建立好的批处理文件static_arp.bat拷贝到系统的启动目录中。电脑每次启动时将自动运行该文件,自动绑定IP与MAC。







  第三:将static_arp.bat文件拷贝到公司内所有电脑的系统启动目录中。(如果公司有域环境,直接脚本运行就可以,不然可以共享)



  至此,公司中的所有电脑都将路由器的IP与MAC绑定到ARP表中,无需再担心因ARP攻击而无法上网。



特别提示:当使用了ARP防范功能(IP和MAC绑定功能)后,电脑应使用固定IP,而不要使用动态IP(通过DHCP自动获取IP),因为若使用动态IP,电脑每次启动时所获得的IP可能不一样,从而可能造成与路由器中保存的IP与MAC绑定条目不一致,这样电脑将无法上网



除了上面这两个方法,也可以利用第三方软件,我这边就简单介绍几个吧。如彩影ARP防火墙(此工具小巧方便,可以判断和阻止普通的ARP工具,并能帮助找出攻击主机排除故障)、聚生网管(这边有绿色版1000用户的。需要可以回帖。我邮箱发过去。我以前经常用,如果网络瘫痪,一查看那台的上传和下载特别大。估计就是这台中ARP了。直接给他网线扒了网络就恢复正常)、网路岗工具也很好(破解程序和视频教程都有)、也可以使用一些抓包软件分析(抓包工具需要的也可以留邮箱)。具体看人技术掌握程度


本文出自 “wolffang的技术小屋” 博客,请务必保留此出处http://381552138.blog.51cto.com/7833981/1432981