欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

ARP病毒的攻击原理分析

科普小知识2022-12-09 10:32:59
...

摘要:最近校局域网中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地址。wWw.11665.cOM网络中所有的主机收到这个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地址分别为: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广播包进行查询了。这就是正常情况下的数据包发送过程。

但是,上述数据发送机制有一个致命的缺陷,即它是建立在对局域网中电脑全部信任的基础上的,也就是说它的假设前提是:无论局域网中哪台电脑,其发送的arp数据包都是正确的。比如在上述数据发送中,当s电脑向全网询问后,d电脑也回应了自己的正确mac地址。但是当此时,a电脑却返回了d电脑的ip地址和和自己的硬件地址。由于a电脑不停地发送这样的应答数据包,则会导致s电脑又重新动态更新自身的arp缓存表,这回记录成:192.168.0.4与mac-a对应,我们把这步叫做arp缓存表中毒。这样,就导致以后凡是s电脑要发送给d电脑,都将会发送给a主机。也就是说,a电脑就劫持了由s电脑发送给d电脑的数据。这就是arp欺骗的过程。

如果a电脑不冒充d电脑,而是冒充网关,那后果会更加严重。一个局域网中的电脑要连接外网,都要经过局域网中的网关进行转发。在局域网中,网关的ip地址假如为192.168.0.1。如果a电脑向全网不停的发送ip地址是192.168.0.1,硬件地址是mac-a的arp欺骗广播,局域网中的其它电脑都会更新自身的arp缓存表,将a电脑当成网关,这样,当它们发送数据给网关,结果都会发送到mac-a这台电脑中。这样,a电脑就将会监听整个局域网发送给互联网的数据包。

4. 结论

arp欺骗是目前 网络 管理,特别是校园网管理中最让人头疼的攻击,它的攻击技术含量低,随便一个人都可以通过攻击软件来完成arp欺骗攻击。同时防范arp欺骗也没有什么特别有效的方法,目前只能通过被动的亡羊补牢形式的措施了。无论是攻和防,首要的就是找出每种攻击的“症结”之所在。只有这样才能找到行之有效的解决方案。当然最根本的办法在客户端自身的防范上,如及时下载安装系统补丁、所装杀毒软件及时升级,安装arp专杀与防范软件等。

参考文献 :

[1].张曾科, 计算 机网络.清华大学出版社.2004.

[2].邱雪松,arp病毒原理与防御.柳钢科技出版社.2006.

[3].黄玉春、王自南,浅谈局域网中的嗅探原理和arp欺骗.大众科技出版社.2006.