论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
摘要:最近校局域网中ARP病毒频繁发作,给校内用户造成不便。本文从ARP协议入手,深入分析了ARP安全漏洞及病毒攻击原理,并对ARP欺骗的原理与攻击方式做了深入的研究,阐明了ARP病毒欺骗的过程,给用户提出解决这个问题的方法。
关键词:网络协议 IP地址 ARP病毒
1. 引言
从上半年开始在学校的局域网爆发了“ARP欺骗”木马病毒,病毒发作时其症状表现为计算机网络连接正常,能登陆成功却无法打开网页,极大地影响了局域网用户的正常使用。
2. ARP协议的工作原理
在以太网中传输的数据包是以太包,而以太包的寻址是依据其首部的MAC地址。仅仅知道某主机的IP地址并不能让内核发送一帧数据给此主机,内核必须知道目的主机的MAC地址才能发送数据。ARP协议的作用就是在于把32位的IP地址变换成48位的以太地址。
在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP缓存表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效保证数据传输的一对一性。我们可以在命令行窗口中,输入命令ARP -A,进行查看,输入命令ARP -D进行刷新。
当数据源主机需要将一个数据包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果存在,就直接将数据包发送到这个MAC地址;如果不存在,就向本地网段发起一个ARP请求的广播包,询问目的主机的IP所对应的MAC地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不一致就不作回应;如果一致,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,后给数据源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。若数据源主机一直没有收到ARP响应数据包,表示ARP查询失败。 (科教论文网 lw.NsEac.com编辑整理)
3. ARP病毒的欺骗原理和欺骗过程
ARP欺骗的目的就是为了实现全交换环境下的数据监听,大部分的木马或病毒使用ARP欺骗攻击也是为了达到这个目的。
假设一个只有三台电脑组成的局域网,该局域网由交换机(Switch)连接。其中一个电脑名叫A,代表攻击方;一台电脑叫S,代表源主机,即发送数据的电脑;令一台电脑名叫D,代表目的主机,即接收数据的电脑。这三台电脑的IP地址分别为:192.168.0.2,192.168.0.3,192.168.0.4,MAC地址分别为:MAC-A,MAC-S,MAC-D。
现在,S电脑要给D电脑发送数据,则要先查询自身的ARP缓存表,查看里面是否有192.168.0.4这台电脑的MAC地址,如果有,就将MAC-D封装在数据包的外面,直接发送出去即可。如果没有,S电脑便向全网络发送一个这样的ARP广播包:S的IP是192.168.0.3,硬件地址是MAC-S,要求返回IP地址为192.168.0.4的主机的硬件地址。而D电脑接受到该广播,经核实IP地址,则将自身的IP地址和MAC-D地址返回到S电脑。现在S电脑可以在要发送的数据包上贴上目的地址MAC-D发送出去,同时它还会动态更新自身的ARP缓存表,将192.168.0.4-MAC-D这一条记录添加进去,这样,等S电脑下次再给D电脑发送数据的时候,发送ARP广播包进行查询了。这就是正常情况下的数据包发送过程。
但是,上述数据发送机制有一个致命的缺陷,即它是建立在对局域网中电脑全部信任的基础上的,