探析数字图书馆网络防治ARP病毒的策略

时间:2020-10-08 17:32:37 计算机毕业论文 我要投稿

探析数字图书馆网络防治ARP病毒的策略

摘要:本文介绍了目前在数字图书馆局域网内蔓延泛滥的ARP病毒的协议的工作原理及欺骗过程,结合实际工作分析了防治ARP病毒的思路。

关键词:ARP 数字图书馆 病毒防治

0 引言
近来,数字图书馆局域网相继出现频繁掉线的现象,访问Internet时断时续,影响面积较大。通过检查,我们发现故障的发生与ARP欺骗病毒有关。该病毒导致网内其他主机的ARP缓存表中默认网关的MAC地址错误,使其他主机掉线,达到自身主机独享线路带宽的目的。本文首先介绍ARP协议和其欺骗的过程,然后对校园网中此类ARP欺骗的原理进行分析,最后结合实际给出了相应的解决办法。
1 ARP概述
1.1 ARP协议简介 在以太网(Ethernet)中,一个网络设备要和另一个网络设备进行直接通信,除了知道目标设备的网络层逻辑地址(正地址)外,还要知道目标设备的物理地址(MAC地址)。要知道目的MAC地址,就需要通过地址解析。所谓地址解析就是主机在发送帧前将目的正地址转换成目的MAC地址的过程。ARP协议(Address Resolution Protocol)的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
1.2 ARP协议工作原理 在每台安装有TCP/IP协议的主机里都有一个ARP高速缓存表,ARP高速缓存是主机维护的一个IP地址到相应以太网地址的映射表,表里的IP地址与MAC地址是——对应的。
如图1所示:以主机A(IP:192.168.0.1,MAC:AA-AA-AA-AA
-AA-AA)向主机B(IP:192.168.0.2,MAC:BB-BB-BB-BB-BB-
BB)发送数据为例。
当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标B的正地址。如果找到了,也就知道了B的MAC地址,于是直接把B的MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播包,其目标MAC地址是FF-FF-FF-FF-FF-FF,这表示向本网段内的所有主机发出这样的询问:“192.168.0.2的MAC地址是?”网络上其它主机并不响应这一ARP请求,只有主机B接收到这个帧时,才向主机A做出这样的响应:“192.168.0.2的MAC地址是BB-BB-BB-BB-BB-BB”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送数据了。同时它还更新了自己的ARP缓存表,当下次再向主机B发送信息时,就直接从ARP缓存表里查找。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
1.3 ARP欺骗的过程 从影响网络连接通畅的角度来看,ARP欺骗分为二种:一种是对网关(路由器或三层交换机)的欺骗;另一种是对内网PC的欺骗。前者是通过伪造本网段内一系列正地址及对应的错误MAC地址,并按照一定的频率不断发给网关,使真实的地址信息无法通过刷新保存在网关AR卫列表中,结果网关的所有数据只能发送给错误的MAC地址,造成正常的主机无法收到信息而不能上网。后者的原理是欺骗者伪造网关,让被它欺骗的PC刷新其ARP缓存列表,从而截获该PC发给网关的信息。
1.3.1 欺骗网关 假如C要欺骗网关的话,它可以通过不断的发送伪造的应答包,如图2所示:
C不断向网关G发送伪造的ARP应答“192.168.0.1的MAC地址是DDDDDDDDDDDD”,“192.168.0.2的MAC地址是EEEEEEEEEEEE”。当G接收到C伪造的ARP应答时,都会更新自己本地的ARP缓存,这样主机A和B将无法收到来自网关G的信息,从而导致不能上网。
1.3.2 欺骗局域网中某台主机 如图3所示:假如A想和B通信,且A的缓存中没有B的信息,这时候A就发送一个广播包,询问192.168.0.2主机的MAC地址。
假设C是欺骗者,于是C向A发送一个自己伪造的ARP应答:“192.168.0.2的MAC地址是CCCCCCCCCCCC”。当A接收到C伪造的ARP应答,就会更新本地的ARP缓存(A并不知道被伪造了)。于是A以后向B发送的信息就会被C所截获。
2 ARP欺骗的防治
2.1 npptools.dll 是windows系统的.一个动态库(network packet provider tools helper)常被ARP病毒利用,所以,禁止了npptools.dll将使此类病毒无法正常运行。具体方法是:在安全模式中,打开WINDOWS\SYSTEM32\NPPTOOLS.DLL文件。删除这个文件后,用零字节的文件替换。最后将nnptools.dll保存为只读文件。