二、ARP工作的其他几种形式
1、 反向ARP:反向ARP(Reverse ARP,RARP)用于把MAC地址转换成对应的 IP 地址。通常这种形式主要使用在系统自身无法保存IP地址的环境里,例如无盘站就是典型的例子。
2、 代理ARP:代理ARP(PROXY ARP),一般被路由器这样的网络设备使用,用来代替处于其他网段的主机回答本网段主机的ARP请求。
3、 无为ARP:无为(Gratuitous ARP,GARP)ARP也称为无故ARP,就是计算机使用本机的IP地址作为目标地址发送ARP请求。无为ARP主要有两种用途,一个作用是根据收到ARP响应的话,说明网络中存在重复的IP地址;另外一个作用是用来声明一个新的数据链路标识。当一个网络设备收到一个arp请求时,如果发现arp缓冲区中已经存在发送者的IP地址,则更新此IP地址所对应的MAC地址信息。
三、ARP欺骗的表现
ARP 欺骗一般分为两种,一种是对路由器 ARP 表的欺骗;另一种是对内网 PC 的网关欺骗。第一种 ARP 欺骗是截获网关数据,它通知路由器一系列错误的局域网 MAC 地址,并按照一定的频率不断的更新学习进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送到错误的 MAC 地址,造成正常的计算机无法收到信息。第二种 ARP 欺骗是通过交换机的 MAC 地址学习机制,伪造网关。它的原理是建立假的网关,让被它欺骗的计算机向假网关发送数据,而不是通过正常的路由器或交换途径寻找网关,造成在同一网关的所有计算机无法访问网络。
现在企业内部的局域网越来越普及,其中接入Internet的企业也日益增加。但是由于很多企业缺乏专业的网管人员,而网络管理的制度更是缺乏,这就造成了局域网内电脑感染ARP地址欺骗病毒的几率非常高。ARP地址欺骗的危害主要表现如下:
1、网络访问时断时继,掉线频繁,网络访问速度越来越慢,有时则长时间不能上网,双击任务栏中的本地连接图标,显示为已经连接,并且发现发送的数据包明显少于接收的数据包;
2、同一网段的所有上网机器均无法正常连接网络;
3、打开·windows任务管理器,出现可疑进程,如”MIE0.dat”等进程;
4、如果是中了ARP欺骗病毒的话,病毒发作时除了会导致同一局域网内的其他用户出现时断时续外,还可能会窃取用户密码(如 QQ、网上银行以及其它脆弱系统帐号等),这是木马的惯用伎俩;
5、打开路由器的系统历史记录中看到大量的MAC更换信息。
四、ARP病毒(或木马)的检测方法
1、已知中毒机器的MAC地址的情况下,可用NBTSCAN(下载地址:http://dd.northtimes.com/download/nbtscan.rar)工具快速查找。 NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”传奇木马”在做怪,可以找到装有木马的PC的IP/和MAC地址。 命令:“nbtscan -r 192.168.2.0/24”(搜索整个192.168.2.0/24网段, 即192.168.2.1-192.168.2.254);或“nbtscan 192.168.2.25-127”搜索192.168.2.25-127 网段,即192.168.2.25-192.168.2.127。输出结果第一列是IP地址,最后一列是MAC地址。
NBTSCAN的使用范例:
假如查找一台MAC地址为“00-0C-76-93-89-C2”的中毒主机,可以使用如下步骤完成查找:
1)将文件包中的nbtscan.exe 和cygwin1.dll解压缩放到c:\根目录下。
2)运行cmd,在出现的DOS窗口中输入:
C:\nbtscan -r 192.168.2.1/24(这里需要根据用户实际网段输入),回车。
C:\Documents and Settings\me>C:\nbtscan -r 192.168.2.1/24
Warning: -r option not supported under Windows. Running without it.
Doing NBT name scan for addresses from 192.168.2.1/24
IP address NetBIOS Name Server User MAC address
-------------------------------------------
192.168.2.0 Sendto failed: Cannot assign requested address
192.168.2.50 SERVER 00-11-09-EC-92-91
192.168.2.111 LLF
192.168.2.121 UTT-HIPER 00-13-46-E2-78-F9
192.168.2.175 JC 00-0B-2F-07-D5-AE
192.168.2.223 test123
3)通过查询IP--MAC对应表,查出“00-0C-76-93-89-C2”的病毒主机的IP地址为“192.168.2.223”。
2、MSS用户查找法:
在MSS服务器管理内,“安全设置”->“MAC-IP地址安全”,使用“全网扫描”功能可得到当前MSS服务器上ARP地址的缓存表,在ARP欺骗病毒(或木马)开始运行的时候,局域网内所有或部分主机的MAC地址更新为病毒主机的MAC地址(也就是扫描出的列表中,所有或部分主机的的MAC地址与病毒主机的MAC地址相同)。
五、ARP病毒(或木马)的预防或解决措施
1、清空ARP缓存: 大家可能都曾经有过使用ARP的指令法解决过ARP欺骗问题,该方法是针对ARP欺骗原理进行解决的。一般来说ARP欺骗都是通过发送虚假的MAC地址与IP地址的对应ARP数据包来迷惑网络设备,用虚假的或错误的MAC地址与IP地址对应关系取代正确的对应关系。若是一些初级的ARP欺骗,可以通过ARP的指令来清空本机的ARP缓存对应关系,让网络设备从网络中重新获得正确的对应关系,具体解决过程如下:
第一步:通过点击桌面上任务栏的“开始”->“运行”,然后输入cmd后回车,进入cmd(黑色背景)命令行模式;
第二步:在命令行模式下输入arp -a命令来查看当前本机储存在本地系统ARP缓存中IP和MAC对应关系的信息;
第三步:使用arp -d命令,将储存在本机系统中的ARP缓存信息清空,这样错误的ARP缓存信息就被删除了,本机将重新从网络中获得正确的ARP信息,达到局域网机器间互访和正常上网的目的。
如果是遇到使用ARP欺骗工具来进行攻击的情况,使用上述的方法完全可以解决。但如果是感染ARP欺骗病毒,病毒每隔一段时间自动发送ARP欺骗数据包,这时使用清空ARP缓存的方法将无能为力了。下面将接收另外一种,可以解决感染ARP欺骗病毒的方法。
2、指定ARP对应关系:其实该方法就是强制指定ARP对应关系。由于绝大部分ARP欺骗病毒都是针对网关MAC地址进行攻击的,使本机上ARP缓存中存储的网关设备的信息出现紊乱,这样当机器要上网发送数据包给网关时就会因为地址错误而失败,造成计算机无法上网。
第一步:我们假设网关地址的MAC信息为00-14-78-a7-77-5c,对应的IP地址为192.168.2.1。指定ARP对应关系就是指这些地址。在感染了病毒的机器上,点击桌面->任务栏的“开始”->“运行”,输入cmd后回车,进入cmd命令行模式;
第二步:使用arp -s命令来添加一条ARP地址对应关系, 例如arp -s 192.168.2.1 00-14-78-a7-77-5c命令。这样就将网关地址的IP与正确的MAC地址绑定好了,本机网络连接将恢复正常了;
第三步:因为每次重新启动计算机的时候,ARP缓存信息都会被全部清除。所以我们应该把这个ARP静态地址添加指令写到一个批处理文件(例如:bat)中,然后将这个文件放到系统的启动项中。当程序随系统的启动而加载的话,就可以免除因为ARP静态映射信息丢失的困扰了。
3、添加路由信息应对ARP欺骗:
一般的ARP欺骗都是针对网关的,那么我们是否可以通过给本机添加路由来解决此问题呢。只要添加了路由,那么上网时都通过此路由出去即可,自然也不会被ARP欺骗数据包干扰了。
第一步:先通过点击桌面上任务栏的“开始”->“运行”,然后输入cmd后回车,进入cmd(黑色背景)命令行模式;
第二步:手动添加路由,详细的命令如下:
删除默认的路由: route delete 0.0.0.0;
添加路由: route add -p 0.0.0.0 mask 0.0.0.0 192.168.1.254 metric 1;
确认修改: route change
此方法对网关固定的情况比较适合,如果将来更改了网关,那么就需要更改所有的客户端的路由配置了。
4、安装杀毒软件:
安装杀毒软件并及时升级,另外建议有条件的企业可以使用网络版的防病毒软件,例如趋势、诺顿等。单机用户可以考虑瑞星、卡巴司基等单机版的杀毒软件,查杀效果都还不错;
5、使用ARP类专杀工具查杀:
下载并安装ARP病毒攻击免疫补丁、木马病毒查杀软件“木马杀客”和防止ARP地址欺骗软件ANTIARP,下载地址如下:
ANTIARP:http://www.gxlztc.net/downtop/Download.asp?ID=354
ARP病毒攻击免疫补丁:http://www.gxlztc.net/downtop/ViewDownInfo.asp?ID=388
木马杀客:http://www.gxlztc.net/downtop/ViewDownInfo.asp?ID=374
6、追根溯源:
大部分arp欺骗软件都会使用一个叫winpcap的驱动,因此避免该程序的安装就可以从源头防止arp欺骗。但是由于此方法需要将网络配置成域环境,然而很多企业的网络并没有配置成域,所以并不此适用方法,在这里不再详细介绍了,各位如果感兴趣,可以上网查阅相关的资料。
六、预防措施辅助
任何事情最好能够防患于未然,等到中毒了以后再进行查杀,无异于亡羊补牢,所以做好各种预防措施才是最好的方法。
1、立即更新操作系统,打上各种系统漏洞补丁;
2、不要轻易共享各种文件夹,若不得不共享时,应设置好相应的权限,另外还可以限定只有指定的帐号或机器才能访问,文件夹最好不要设置成可写或可控制;
3、操作系统和各种帐号的密码不要设置为空,应该尽量为6位以上,而目前很多企业员工的计算机水平和安全意识都不高,这样显然增加了中毒或被攻击的几率;
4、不要随便打开来历不明的电子邮件,尤其是打开邮件附件时要特别小心;
5、使用U盘等外来文件时,必须先对其进行病毒查杀,尽量控制病毒不进入网络系统;
6、做好重要、机密数据的备份工作,以免系统中毒后造成数据的丢失;
7、目前很多企业都可以上网,但不要轻易登陆不明网站,特别不要随意登陆需要输入自己银行帐号或手机及计算机系统帐号的不明网站,当进行网上交易时更要特别慎重;
8、加强企业员工的安全意识,经常组织各种计算机方面的培训,完善计算机使用和网络安全管理等各方面的制度,力争将病毒拒之网外。
到目前为止,还没有完美的、彻底的解决方法,因为这涉及到使用网络内计算机的每位员工,另外由于ARP协议信任网络内的所有主机,网络越大的越难处理。只要有一台电脑中毒,整个网络都有可能全部瘫痪,这将给网络管理和日常的工作都将造成巨大的困难。希望通过以上的介绍,可能让大家了解ARP攻击或ARP病毒的原理,认识到其危害,以及对其的防治措施,使其对我们网络的危害降到尽可能低的程度。