当前位置: 主页 > 日志 > 其它 >

虚拟网关解决ARP攻击-原理分析

前些天我在黑基上看到了一篇文章《虚拟网关解决ARP攻击》,感觉方法很巧妙,原文地址是(http://www.hackbase.com/tech/2008-10-07/41833.html)。觉得唯一不足的地方是原文写的不够通俗。为了让更多的人掌握这个巧妙的方法,今天我斗胆来分析一下《虚拟网关解决ARP攻击》的原理,如果你已经对ARP攻击的原理还不熟悉的话,建议你先去了解一下ARP攻击的原理。


1 局域网内通信靠IP地址还是MAC地址?
答案:MAC地址。通常局域网内MAC地址是通过IP地址查询到的。

2 如果已知网关的MAC地址,而不知道网关IP地址,能否通过网关上网?
答案:可以,因为上面已经说过了,局域网内通信靠的是MAC地址,而不是IP地址。但是要实现这个,还需要经过一些特殊的设置。方法如下(假设已经知道网关MAC:11-11-11-11-11-11,局域网:192.168.1.1/24):

(1)        在网段内找一个空闲的IP地址作为网关的IP,例如192.168.1.123,在“TCP/IP属性”里将默认网关设置成192.168.1.123。(这一步很简单吧…)

(2)        使用“arp -s  192.168.1.123  11-11-11-11-11-11”命令将实际网关的MAC地址和我们设置的虚拟网关的IP绑定起来。(这一步是关键,arp –s 命令可以将IP和MAC地址绑定起来。命令在哪里执行?cmd下。)

设置完了,试一试,你会发现你仍然能够上网,为什么呢?继续往下看。

上面的讨论貌似和今天的主题没有什么联系,其实 “虚拟网关解决ARP攻击”,已经在不知不觉中被我们设置完成了。通过上面的那种虚拟网关,我们不但依然能上网,而且还能防止ARP攻击。下面说分析一下两个问题:第一,为什么能够通过虚拟网关上网?第二,为什么虚拟网关设置能否防止ARP攻击?

第一个问题:为什么能够通过虚拟网关上网?

答案:当我们的电脑要连接互联网时,数据需要经过网关的中转,如果能维持和网关的通信,我们的电脑就能保持上网。我们的电脑向外部网络发送数据时,先发送给了网关,我们已经设置了网关的IP地址是192.168.1.123,但是局域网内通信靠的是MAC地址,因此,我们首先需要根据网关的IP地址获取网关的MAC地址,在上面我们已经绑定了虚假网关“192.168.1.123” 和真实网关的MAC,这样我们使用这个虚假的网关IP就获取到了真实的网关MAC,因此我们的电脑让然能正确地向网关发送数据。于是乎,我们就能上网了。

第二个问题:为什么虚拟网关设置能够防止ARP攻击?
答案:这个才是我们今天要讨论的关键。如下图所示的局域网环境。



主机A进行了虚拟网关设置(虚拟网关是192.168.1.123)。
    第一种情况:主机B对主机A发动ARP攻击(eg.冒充路由器向主机A发送ARP应答)。根据ARP攻击的原理,ARP数据包的源IP肯定是路由器的IP:192.168.1.1,源硬件地址肯定是一个虚假的MAC地址,主机A接收到数据包,建立起一条ARP映射的缓存(192.168.1.1-虚假MAC),由于我们使用的是虚假网关,因此这个虚假的映射对我们已经没有什么影响了。

    第二种情况:主机A中了ARP病毒,不断对外发送ARP攻击数据包(通常是冒充网关发送的ARP应答),病毒获取到的网关IP是我们设置的虚假网关IP,因此它对外冒充的也就是虚假网关,呵呵,这当然对其它电脑也没有影响了。
   从上面的两种情况我们可以看出,这种虚拟网关的方法不但能够防止自己不够攻击,还能防止自己中毒后攻击别人,真是一石二鸟。
   如果在路由器中再静态绑定局域网内机器的IP和MAC,那就更完美了。

[日志信息]

该日志于 2009-02-26 21:42 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “虚拟网关解决ARP攻击-原理分析” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部