摘要:本文简要介绍了ARP病毒的危害和ARP欺骗原理,并介绍了在单位局域网内ARP病毒防护的工作原理和软件的主要功能。
关键词:ARP病毒   局域网   防护

1、ARP病毒的危害
众所周知,目前计算机病毒是威胁计算机网络的主要因素,且病毒的感染和发作的可能性始终存在,人们对计算机病毒的防范相对滞后。尤其是近两年的ARP病毒,导致用户经常断网,如果网内一台计算机ARP病毒发作,将会向网内发送大量的数据,影响网内其它终端的正常运行,甚至造成整个网络的中断。
2、ARP欺骗原理
ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。
机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则广播A一个ARP请求报文,请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。
ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。
3、主要工作原理
在以太网上传输的都是具有以太网头的数据包,也就是局域网上连个机器相互通讯就要知道对方的MAC地址。
比如一台netbug的机器要和一台o3的机器通讯:
首先.netbug要知道o3的IP地址,netbug知道了o3的IP后,就可以组装IP协议层以上的包了。但前面已经说了,要在以太网上传输数据,就必须有一个的MAC,要找MAC,netbug首先在自己的arp缓存里找是否有这个条目,可以在cmd环境下:
C:\>arp -a
Interface: 192.168.0.225 --- 0x2
Internet Address Physical Address Type
192.168.0.4 00-80-ad-77-e2-9a dynamic
192.168.0.9 00-e0-4c-39-15-f2 dynamic
192.168.0.10 00-e0-4c-39-19-a5 dynamic
192.168.0.12 00-10-b5-4d-4b-b7 dynamic
如果IP所对应的MAC在这里没有,那netbug就会用到我们以前所讲的ARP协议发送一个广播,如果在局域网上发现中间的IP和自己的IP符合,就发回ARP回应。
如果没有回应,那netbug就会把网关的MAC做为对方的MAC,然后封装ethern网包发送出去。
如果在ARP缓存里修改网关的MAC,那netbug就上去网了。那如何远程去修改对方的ARP缓存呢?就是ARP的一个属性,免费ARP。
(1)一个主机可以通过她来确定另一个主机是否设置了相同的IP地址。
(2)如果发送免费ARP的主机正好改变了硬件地址,那这个分组就可以更新其它主机缓存中的硬件地址。
C:\>arp /?
Displays and modifies the IP-to-Physical address translation tables used by
address resolution protocol (ARP)
ARP -s inet_addr eth_addr [if_addr] <===添加arp条目
ARP -d inet_addr [if_addr] <====删除arp条目
ARP -a [inet_addr] [-N if_addr] <====显示arp条目

Example:
> arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Adds a static entry.
> arp -a .... Displays the arp table.
C:\>
我们开发的ARP病毒防护软件就是用的这个特性,使对方缓存中的网关地址错误。没有网关,当然上不去网了。如果发现相同IP具有不同的MAC,当然报错了。
4、局域网ARP病毒防护软件主要功能
该ARP病毒防护软件可用于管理局域网,可以在局域网中任意一台机器上运行主程序,能禁止局域网任意机器连接网络。它可以穿透防火墙、实时监控、记录整个局域网用户上线情况,可限制各用户上线时所用的IP、时段,并可将非法用户踢下局域网。该软件适用范围为局域网内部,不能对网关或路由器外的机器进行监视或管理,适合局域网管理员使用。
主要功能如下:
(1)实时记录上线用户并存档备查
网络中任一台主机,开机即会被本软件实时检测并记录其网卡号、所用的IP、上线时间、下线时间等信息,该信息自动永久保存,可供查询,查询可依各种条件进行,并支持模糊查询。
(2)自动侦测未登记主机接入并报警
管理员登记完或软件自动检测到所有合法的主机后,可在软件中作出设定,拒绝所有未登记的主机接入网络。一旦有未登记主机接入,软件会自动将其MAC、IP、主机名、上下线时段等信息作永久记录,并可采用声音、向指定主机发消息等多种方式报警,还可以根据管理员的设定,自动对该主机采取IP冲突、与关键主机隔离、与网络中所有其它主机隔离等控制措施。
(3)限定各主机的IP,防止IP盗用
管理员可对每台主机指定一个IP或一段IP,当该主机采用超出范围的IP时,软件会判定其为"非法用户",自动采用管理员事先指定的方式对其进行控制,并将其MAC、IP、主机名作记久记录备查。
(4)限定各主机的连接时段
管理员可指定每台主机在每天中允许与网络连接的时段或不允许与网络连接的时段(可指定两个时段,如允许每天8:30-12:00和13:30-5:00与网络连接),并可指定每一用户是否被允许在每个周六、周日与网络连接。对违反规定的用户,软件判其为非法用户,自动记录并采用管理员事先指定的方式进行管理。管理方式同样可为IP冲突、与关键主机隔离、与其它所有主机隔离等。
总之,本软件的主要功能是依据管理员为各主机限定的权限,实时监控整个局域网,并自动对非法用户进行管理,可将非法用户与网络中某些主机或整个网络隔离,而且无论局域网中的主机运行何种防火墙,都不能逃避监控,也不会引发防火墙警告,提高了网络安全性。管理员只需依据实际情况,设置各主机的权限及违反权限后的管理方式,即可实现某些具体的功能,如禁止某些主机在指定的时段访问外网或彻底禁止某些主机访问外网;保护网络中关键主机,只允许指定的主机访问等等。

文章如转载,请注明转载自:http://www.5iadmin.com/post/842.html