ARP欺骗引起的网络瘫痪及处理方法

随着计算机网络的不断发展,网络安全是一个不可忽视的问题,可能不知什么原因会使计算机网络瘫痪。不久前我们校园网就出现了问题。

一、问题的现象

    我校的网络拓扑结构是总线与星形的结合体,上因特网出口是通过代理服务器作为网关代理。再由防火墙的路由功能转出。自网络建成后,上网没有任何问题。一直到今年5月份。今年出现了有一部分计算机无法上网,同时网络速度变慢,情况分析是这台计算机无法ping通网关计算机,但是能ping通其它计算机,然后如果将这台计算机的IP地址改一下又能PING通网关地址了,并且也可以上网了。一开始我们使用改变IP地址的方式进行使不能上网的计算机上网;然而时间过了不久,出现了大量计算机不能上网。这引起了我们的注意,什么原因引起的呢?

二、分析原因

首先我们怀疑是不是代理服务器出了什么问题,我们使用了代理服务器是用ISA2004作为服务软件。我们查找该计算机的ISA2004软件中的防火墙是否设置错误,但防火墙的设置没有什么问题。同时为了排除代理服务器问题,将服务器彻底重新安装,问题还是没有解决。这时间在一个偶然的情况下,在命令方式下,检查计算机的MAC地址时,发现了一种情况, ARP命令查一下有多少计算机与本机进行过通信即查一下ARP表。意外出现了。

我的网关的MAC地址是00-14-78-81-c9正常,但其它不能上网的计算机上出现了网关的IP地址是192.168.50.2,但MAC地址却不是上面的地址;用网络警察查看发现了两台计算机的地址是192.168.50.2。另外一部分计算机的网关MAC地址是正确的,但也不能ping到网关。

为了进一步确定计算机网络不能正常上网的原因,在代理服务器上使用ARP指令,出现了有多台计算机的MAC地址是相同的。为什么MAC地址相同的不能上网呢?我们再分析一下ARP的工作原理。

三、ARP工作原理

ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。

IP数据包常通过以太网发送,以太网设备并不识别32IP地址,它们是以48位以太网地址传输以太网数据包。因此,必须把IP目的地址转换成以太网目的地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行。

ARP的工作原理如下:

1. 首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。

2. 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。

3. 网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;

4. 源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

那么如果不能正常反映真实的IP地址与MAC地址的对应关系这就是ARP欺骗。

四、ARP欺骗的攻击原理

ARP欺骗是利用了ARP协议的上述特点来进行的:当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IPMAC地址存储在ARP缓存中。因此,当局域网中的某台机器BA发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为CIP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来CIP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能PingC!这就是ARP欺骗。

ARP欺骗主要有两种方式,第一种是将通过广播将网关的MAC地址改为自己的地址,以达到对于全部计算机的欺骗,所有发向网关的信息全部到了实施欺骗的哪台计算机上;另外一种是在网关上将其他计算机的MAC地址改为自己的MAC地址,这样从网关返回的帧就回不到原计算机而到实施欺骗的哪台计算机。并通过这两种方式达到骗取局域网中计算机的信息这一目标。

因此出现了两台网关计算机及多台计算机的MAC地址相同的现象之后,计算机局域网络是基本瘫痪,不能正常工作。

五、解决ARP欺骗的方法

针对上述的现象,可以采用的方法就是从抓住发出欺骗的计算机的MAC地址入手。因为没有什么人做“损人不利己”的事,它的尾巴就是自己的MAC地址。

处理该欺骗处理的方法有这样三种:

第一种:改变受骗计算机的网关的MAC地址;这是一种治标不治本的方法,方法是使用ARP命令,在命令提示符下,用ARP  –S  网关IP地址  网关MAC地址,使用静态MAC地址方式使IP地址与MAC地址相对应,这样欺骗帧就不能使ARP表动态改变了。如果是网关上的ARP表被修改了,这种处理就麻烦一点,要增加比较多的静态ARP表了。

第二种:自我完善法;在计算机上安装上一些防ARP欺骗的软件,如ARP防火墙等软件,这种软件的原理也是固定网关的MAC地址,并可以将攻击者的MAC地址进行显示,以便等待处理。这也是一种自我保护的方法,但不能彻底解决的方法。

第三种:清查始涌者;通过ARP指令可以得到产生欺骗的计算机的MAC地址,就是将网关的MAC地址改变的计算机。通过网管交换机,可以基本进行锁定到这台计算机。人工对该计算机进行清查,处理出这是一种木马程序,主要的目标是偷取局域网内各种密码,以为自己使用。笔者所查出的是一种WINDHCPSERVER的服务程序,使用360度安全卫士可以将该木马杀死。

六、总结

计算机网络的发展给大家带来了许多便利,同时也给计算机安全带来了许多危害;我们只有在自己的计算机上加上各种安全防护手段才能更好的保护自己也同样保护他人。

除了安装必要的杀毒软件外,还应该定期升级操作系统的补丁,同时更好的方法是安装木马专杀工具,防止被木马控制。

 

 

你可能感兴趣的:(ARP欺骗引起的网络瘫痪及处理方法)