关于ARP病毒的攻击原理分析
摘要:最近校局域网中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查询失败。
3. ARP病毒的欺骗原理和欺骗过程
ARP欺骗的目的就是为了实现全交换环境下的数据监听,大部分的木马或病毒使用ARP欺骗攻击也是为了达到这个目的。
假设一个只有三台电脑组成的局域网,该局域网由交换机(Switch)连接。其中一个电脑名叫A,代表攻击方;一台电脑叫S,代表源主机,即发送数据的电脑;令一台电脑名叫D,代表目的主机,即接收数据的电脑。这三台电脑的IP地址分别为:19