打印

[【电脑网络】] 【原创】浅谈ARP欺骗以及若干解决方法

【原创】浅谈ARP欺骗以及若干解决方法

昨晚写的,可是没网,无法发帖。
引用:
【前言】

“ARP欺骗”肆虐!清华大学万余台电脑感染病毒,清华大学的校园BBS上,有多名同学抱怨学校宿舍网速太慢,并频频出现掉线现象。引起这种现象的是一种名为“ARP欺骗”的电脑病毒。从4月10日起,已经陆续有100多个宿舍网络端口被封闭,给学生们的正常上网带来了影响。
引用:
【什么是ARP】

ARP即“Address Resolution Protocol”(地址解析协议),用于根据1个已知的IP地址查找硬件地址。

它把IP地址翻译成硬件地址(MAC)。MAC地址是48位的二进制码,翻译成16进制后形如:XX-XX-XX-XX-XX-XX。这点与IP地址不同,IP地址本身是32位二进制码,只是每8位翻译成了十进制。

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。

引用:

【什么是ARP欺骗】

第一步:假设我们宿舍4人路由器共享上网,A,B,C,D。


名   称

      IP地址

      MAC地址

路由器

192.168.0.254

GG-GG-GG-GG-GG-GG

计算机A

192.168.0.1

AA-AA-AA-AA-AA-AA

计算机B

192.168.0.2

BB-BB-BB-BB-BB-BB

计算机C

192.168.0.3

CC-CC-CC-CC-CC-CC

计算机D

192.168.0.4

DD-DD-DD-DD-DD-DD




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

Interface: 192.168.0.1 on Interface *****
Internet Address   Physical Address       Type
192.168.0.254  GG-GG-GG-GG-GG-GG  dynamic   
(一般必有)

192.168.0.2      BB-BB-BB-BB-BB-BB     dynamic   (可能有)
192.168.0.3      CC-CC-CC-CC-CC-CC     dynamic   
(可能有)

192.168.0.4      DD-DD-DD-DD-DD-DD  dynamic   (可能有)



第三步:若计算机B上运行ARP欺骗程序,向A发送ARP欺骗包。


这里举例:B(192.168.0.2)发过来的包内容为【192.168.0.254,BB-BB-BB-BB-BB-BB】,此时,A的ARP缓存第一条(见上面)会被更新为:192.168.0.254  BB-BB-BB-BB-BB-BB  dynamic


到此为止,ARP欺骗完成。ARP缓存表已经变成了畸形,而此时的A浑然不觉。更糟糕的是,要是arp病毒随便改个不存在的MAC,那么A发的信息永远也不可能被传送到外网。


一度兴风作浪(现在还是)的P2P终结者或聚生网管就是利用这个原理,控制机发送ARP欺骗包给所有局域网内的受控机,宣称自己是网关(gateway,也可称路由器)。这样的话,其他机子访问外部网络的时候,理所当然会经过网关中转,但是此时他们眼中的网关是控制机而不是真正的路由器(被欺骗了)。

OK,所有的数据都得经过控制机,控制机就可以随心所欲的控制任何一台机的数据流速了。



引用:

【中招症状】

ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信。如果你的计算机时不时的掉线,或者ping不同网关时就该引起注意了。


引用:
【解决方案】

快速且有效:

使用静态ARP绑定法。可以解决已经受ARP攻击的电脑,也可以来防止ARP攻击的侵害。

前者,假设网关IP为192.168.0.254,在运行中输入
http://192.168.0.254来登录路由器,找到路由器的LAN端MAC地址,假设为GG-GG-GG-GG-GG-GG。


开始-运行-CMD,进入命令提示符;
ARP  -D    //清除ARP缓存,注意中间有空格。
ARP  -S    192.168.0.254    GG-GG-GG-GG-GG-GG    //静态ARP绑定。


然后用ARP –A查看缓存,发现现在的一个条目跟以前不一样了,现在变static了。如下:

192.168.0.254  GG-GG-GG-GG-GG-GG  static (与前面最大的不同是dynamic变static了

静态的好处是发现同一个IP新的ARP缓存时,采取丢弃处理,不更新。这样就抵制了ARP欺骗。当然病毒技术发达,他们可以很轻松地把static该为dynamic  ,继续作孽。

这里我找到了一个较好的动态解决方案:

用VBScript脚本实现,每N秒钟自动刷新一遍ARP缓存,脚本名可以为ARP.VBS。




set Ws = WScript.CreateObject("WScript.Shell")
     count=0


for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_
     if ps.name="wscript.exe" then count=count+1
         next
     if count > 2 then wscript.quit
         i=1


for i = 1 to 3 '3为绑定的次数
     i=i-1 '永远也不会是3,所以一直循环
     WScript.Sleep(1000*60*0.1) '每0.1分钟绑定一次
     ws.run "arp -d",0
     ws.run "arp -s 192.168.0.254  GG-GG-GG-GG-GG-GG",0
     next



当然,为了简单一点,也可以建立个批处理文件,如ARP.BAT。

@echo off
arp -d

arp -s 192.168.0.254  GG-GG-GG-GG-GG-GG



然后把ARP.VBS或ARP.BAT放到“开始-启动”中即可。专业版的用户也可以用组策略来加载,运行-gpedit.msc,计算机配置-脚本(启动/关机),在启动中添加刚才的脚本,参数空,就OK老。

完全:

跟普通的病毒查杀一样,参考病毒查杀教材。或者把使用ARP欺骗软件(p2p终结者等)的人狂欧一顿,^_^。

防火墙防范:使用ARP防火墙 AntiARP 4.1.1(最新个人版),可以监测ARP欺骗行为,主动抑制等。
下载地址:
www.antiarp.com



[ 本帖最后由 yaoaijia 于 2007-5-24  23:30 编辑 ]
本帖最近评分记录
  • knight 威望 +1 原创精品技术帖 2007-5-24 23:11
  • knight 金钱 +10 原创精品技术帖 2007-5-24 23:11
专业数据恢复

TOP

[ 鲜花5朵]
虽然偶看不懂,不过偶确定锅是个好人:oooooo
爱就是充实了的生命,正如洒满了酒的酒杯。

TOP

先收藏了,以后再细细拜读!

选中了,走下去,别回头!

TOP

上次锅好好的帮我解决了这个个问题..不过貌似现在又不稳定了:iiiiii

TOP

好文章

特别是内网的用户特别要注意

一般渗透内网就用cain嗅探
人类千万年的历史,最为珍贵的不是令人炫目的科技,不是浩瀚的大师们的经典著作,而是实现了对统治者的驯服,实现了把他们关在笼子里的梦想。我现在就是站在笼子里向你们讲话。这个铁笼子四面插着五根铁栏杆:选票、多党制、司法独立、新闻自由和军队国家化。
有点专业,不过有点小懂~~
鹊桥单身群57926878

回复 #6 一个人走 的帖子

今天鸿运满多,庆祝一下~~
鹊桥单身群57926878
:mmmmmm 有点专业的说
河海本部吉他协会欢迎你的加入,QQ群:62550582
吉他协会的音乐之门永远为你而开~~ ~

TOP

我们学校塞尔网络就借ARP,来掩饰自己网速奇慢,,,然后学校那些才子,捣鼓了一首超好听的歌,送给塞尔,,,想起就想笑   哈哈哈哈,,,,,,,,,
子路问强
子曰:宽柔以教 不报无道 南方之强也 君子居之

TOP

顺便问一下,IPCONFIG -ALL 怎么查看路由器的MAC ?
子路问强
子曰:宽柔以教 不报无道 南方之强也 君子居之

TOP


当前时区 GMT+8, 现在时间是 2008-11-24 02:43 苏ICP备06039509号 当当网

Designed By 17DST Discuz! Support Team | Discuz!支持团队