扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
局域网不停的中断,电脑主机掉线,上网速度速度慢等现象。
【故障原因】
局域网内有人使用ARP欺骗的木马程序或者管理软件(比如:传奇盗号的软件,被加载了木马的网游外挂,网络执法官,网络剪刀手等)。如小A在某处上网,其在网络上下载了“网络执法官”这个软件,其通过非常简单的手段就可以扫描到网络中的所有主机,如下图
小A和小B曾经有过冲突,小A决定让小B掉线,且永远无法上网,其双击小B所在的电脑项,在弹出的对话框中选择“禁止该网卡与网络连接”,确定后小B的电脑就断线了。
更有甚者,小A决定让网络中所有的人掉线,其只需要选中所有电脑,设置一个统一动作,就可以让网络中所有人全部掉线。
【故障原理】
在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。
在局域网中,两台网络设备要互相通信,必须要互相知道对方的物理地址,也就是MAC地址。IP地址和MAC地址的关系就像A和B两栋楼中的两处居民小李和小张的关系。假设小李住在A楼,小张住在B楼,小李要和小张隔着楼谈话,小李必须在A楼处大喊小张的名字(MAC地址)后,双方才能谈话。否则小李大喊B楼(IP地址),是无法进行谈话的。而小李和小张之间的在谈话之前的联系,就是通过ARP协议来完成。
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下表所示。
我们以主机A(192.168.16.1)向主机B(192.168.16.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.16.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。这不正好是D能够接收到A发送的数据包了么,嗅探成功。
A对这个变化一点都没有意识到,但是接下来的事情就让A产生了怀疑。因为A和C连接不上了。D对接收到A发送给C的数据包可没有转交给C。
这是,如果在D上做“man in the middle”,进行ARP重定向。打开D的IP转发功能,A发送过来的数据包,转发给C,好比一个路由器一样。不过,假如D发送ICMP重定向的话就中断了整个计划。
D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗。现在D就完全成为A与C的中间桥梁了,对于A和C之间的通讯就可以了如指掌了。
【解决思路】
由于ARP协议的缺陷,导致任一台主机在收到ARP包时,没有任何验证就更新自己的ARP缓存,在ARP欺骗发生的时候,更是会发生随意更改自己的网关的IP+MAC的指向,从而导致了掉线的发生。
解决的思路就是,摒弃这种动态更新ARP缓存的方式,改用由管理员静态指定的方式。在一个局域网中要实现正常的上网行为,就必须要保证两个方面通信正常,(1)主机(电脑)上的指向本地网关的IP+MAC正确;(2)网关(通常是路由)上,指向本地电脑的IP+MAC正确。根据上面两个原则,我们就可以保证所有主机和路由器的通信正常,就可以防止被欺骗而引起掉线。解决方案就是要做双向绑定;在本地所有电脑上绑定路由器的IP+MAC地址;在网关(路由器)上绑定所有电脑的IP+MAC地址。
1、如何在路由器上绑定所有主机(电脑)的IP+MAC地址;通常的,在路由器上绑定所有的主机的IP+MAC地址比较简单,艾泰科技甚至提供出了一键绑定所有主机IP+MAC地址的功能,只需要点击“全部绑定”就可以一次性绑定所有电脑的IP+MAC地址,如下图:
2、如何在主机上绑定网关(路由器)的IP+MAC地址;
1)首先,获得路由器的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa)。
2)打开记事本,编写一个批处理文件rarp.bat,保存后缀名为.bat,内容如下:
@echo off
arp -d
arp -s 192.168.16.254 00-22-aa-00-22-aa
注意:将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址。
3)将这个批处理软件拖到“windows--开始--程序--启动”中,保证Windows每次开机都可以执行这个批处理文件。
3、做完上面两个步骤后,双向绑定就已经完成了。但是在实际中发现,在电脑上绑定网关(路由器)的IP+MAC地址后,有一些变种的ARP欺骗病毒会将电脑上的绑定会删除掉,只删掉一台电脑的绑定后还无关紧要,但当这种病毒在局域网中开始蔓延,感染了大部分主机(电脑)的时候,上述做的双向绑定实质上已经失效了。此时在局域网中依旧会出现大面积的掉线情况,针对此种情况,我们推荐用户采用下面的方法对步骤2进行增强:
1)跳过上述步骤2
2)安装AntiARP防火墙单机版,下载地址:http://www.antiarp.com/download.htm 。该软件为了防止主机(电脑)上的静态绑定被删除,会每隔一个时间段自动检查,如果发现被删除会重新进行绑定。
3)在网关的IP/MAC处,手动设置网关的IP地址和MAC地址,输入你局域网的网关的IP+MAC地址,确定,如下图:
4)保持该软件随电脑启动而启动,即可。
4、如何查看当前主机的静态绑定是否生效。
在命令行中输入arp –a,如果对应的静态绑定的类型(Type)为static,说明已经生效;如果类型(Type)为dynamic,则说明绑定没有生效。如下图:
【双向静态绑定的问题】
通过上述步骤的操作,可以完成在一个普通的局域网中应对ARP欺骗的防御体系。但是所有的主机(电脑)上绑定网关的IP+MAC地址就并非易事,假设在一个200台电脑的网络中,网络管理员就会不停的来回在200台电脑上奔波,费时费力,对网络管理员
耐力绝对是个考验。针对这种情况,艾泰科技提出了另外一种解决思路:网关(路由器)定时定向的向局域网广播正确的网关(路由器)IP+MAC信息,来防止局域网发生的欺骗。采用此种方法,网络管理员只需要做两个步骤,5分钟轻松搞定:
1)网关(路由器)上一键绑定所有主机(电脑)的IP+MAC地址;
2)开启网关(路由器)上的主动防御arp攻击的功能,如下图;
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者