河风海韵--河海大学BBS » 【电脑专版】电脑技术和知识 » 【原创】浅谈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.254GG-GG-GG-GG-GG-GG计算机A192.168.0.1AA-AA-AA-AA-AA-AA计算机B192.168.0.2BB-BB-BB-BB-BB-BB 计算机C192.168.0.3CC-CC-CC-CC-CC-CC 计算机D192.168.0.4DD-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欺骗】
第一步:假设我们宿舍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欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信。如果你的计算机时不时的掉线,或者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 -darp -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
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
@echo off arp -d
arp -s 192.168.0.254 GG-GG-GG-GG-GG-GG
查看个人网站
查看详细资料
TOP
小怪物
人小鬼大
紫尘
管理员
CoLdPLaY
总书记
微笑每一天
不喝啤酒
喝可乐
范布莱恩
精英督察
~~ ~
泥水匠
那时,凤凰花开!