ARP攻击的原理

elbert9702 2008-07-02 04:15:19
首先我们可以肯定一点的就是发送ARP攻击包是通过一个恶毒的程序自动发送的,正常的TCP/IP网络是不会有这样的错误包发送的,而人工发送又比较麻烦。也就是说当黑客没有运行这个恶毒程序的话,网络上通信应该是一切正常的,保留在各个连接网络计算机上的ARP缓存表也应该是正确的,只有程序启动开始发送错误ARP信息以及ARP攻击包时才会让某些计算机访问网络出现问题。接下来我们来阐述下ARP攻击的原理。

第一步:假设这样一个网络,一个Hub或交换机连接了3台机器,依次是计算机A,B,C。

A的地址为:IP:192.168.1.1 MAC: AA-AA-AA-AA-AA-AA B的地址为:IP:192.168.1.2 MAC: BB-BB-BB-BB-BB-BB C的地址为:IP:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC

第二步:正常情况下在A计算机上运行ARP -A查询ARP缓存表应该出现如下信息。

Interface: 192.168.1.1 on Interface 0x1000003 Internet Address Physical Address Type 192.168.1.3 CC-CC-CC-CC-CC-CC dynamic

第三步:在计算机B上运行ARP攻击程序,来发送ARP攻击包。

B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不知道被伪造了)。而且A不知道其实是从B发送过来的,A这里只有192.168.10.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址。

第四步:攻击完毕我们在A计算机上运行ARP -A来查询ARP缓存信息。你会发现原来正确的信息现在已经出现了错误。

Interface: 192.168.1.1 on Interface 0x1000003 Internet Address Physical Address Type 192.168.1.3 DD-DD-DD-DD-DD-DD dynamic

从上面的介绍我们可以清楚的明白原来网络中传输数据包最后都是要根据MAC地址信息的,也就是说虽然我们日常通讯都是通过IP地址,但是最后还是需要通过ARP协议进行地址转换,将IP地址变为MAC地址。而上面例子中在计算机A上的关于计算机C的MAC地址已经错误了,所以即使以后从A计算机访问C计算机这个192.168.1.3这个地址也会被ARP协议错误的解析成MAC地址为DD-DD-DD-DD-DD-DD的。

问题也会随着ARP攻击包针对网关而变本加厉,当局域网中一台机器,反复向其他机器,特别是向网关,发送这样无效假冒的ARP应答信息包时,严重的网络堵塞就会开始。由于网关MAC地址错误,所以从网络中计算机发来的数据无法正常发到网关,自然无法正常上网。这就造成了无法访问外网的问题,另外由于很多时候网关还控制着我们的局域网LAN上网,所以这时我们的LAN访问也就出现问题了。

ARP攻击防护方案

  双向绑定

  之前我们介绍过ARP欺骗主要是通过伪造IP地址和MAC地址实现的. 因此,我们不要把网络安全信任关系建立在IP基础上或MAC基础上,理想的关系应该建立在IP+MAC基础上。

 一般的路由器支持MAC和IP地址双向绑定.强行让MAC和IP一一对应,保证ARP表不被更改,从而防止了ARP欺骗的发生.同时系统提供ARP攻击报警功能,当内网里出现ARP攻击的时候,系统会及时鸣笛预警,并显示问题主机.以方便网络管理人员能即时修复问题主机。

 
  PPPOE服务器模式

  除了双绑以外还可以采用另外一种方式来防止ARP欺骗,就是使用海蜘蛛路由系统,开启里面的PPPOE服务器,设置一组帐号和密码,然后每台客户机建立一个PPPOE拨号连接,通过认证的方式接入路由器,最后由路由器NAT转发到外网.

  由于这种方式相当于是给每台客户机与路由之间单独建立了一条虚拟线路,而不是通过ARP表的转发,因此从根本上杜绝了ARP欺骗的可能性。

  安装ARP神盾 (推荐)

  如果路由使用了海蜘蛛路由的话,那么在客户机上可以安装使用客户端软件-海盾安全防护软件,可以彻底解决ARP攻击问题,具体原理我也不太清楚,有兴趣的话可以去他们官网看看。百度里面搜索海蜘蛛路由就可以了。
...全文
324 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
barius 2008-07-08
  • 打赏
  • 举报
回复
其实360卫士就有ARP防火墙的- -~挺好用的,不行的话你就也装个Netrobocop之类的东西和那个人对攻。。呵呵
sapphire007 2008-07-07
  • 打赏
  • 举报
回复
ARP 攻击把我们学校网络搞定一团乱,头都大了,谢谢楼主了,回头试试您的方法
aSpace 2008-07-07
  • 打赏
  • 举报
回复

4,392

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧