知识屋:更实用的电脑技术知识网站
所在位置:首页 > 网络安全 > 安全资讯

ARP地址及工作原理和ARP欺骗的表现与ARP欺骗的表现以及ARP病毒(

发布时间:2012-08-06 16:01:29作者:知识屋

今天无意间看见这篇文章,感觉对新手有用,所以拿来给大家一起看看。
 一、ARP地址及工作原理
    ARP协议(Address Resolution Protocol,地址解析协议)是TCP/IP底层协议。通常用在网络故障进行诊断的时候,也是最常用的一种底层协议。它属于TCP/IP(通常划分为 7层)的低层协议,负责将IP地址解析成对应的MAC地址。当一个使用TCP/IP协议进行数据交换或传输的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并封装成包,附上目的主机的IP地址。然后,根据IP地址寻找实际MAC地址的映射,这就需要发送ARP广播。当ARP找到了目的主机 MAC地址后,就可以形成待发送帧的完整以太网帧头。最后,协议栈将IP包封装到以太网帧中进行传送。 
用语言表述以上的内容枯燥而乏味,其实简单地理解,就是根据IP地址与MAC的映射关系,为要发送的信息加上正确的,也是唯一的地址。为了节省ARP缓冲区内存,被解析过的ARP信息的保存周期都是有限的。如果一段时间内该信息没有被参考过,则信息将被自动删除。若计算机使用的是Windows操作系统,ARP信息的存活周期是2分钟,而在大部分交换机中,该值一般都是5分钟。
 

   二、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 Settingsme>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地址欺骗软件ANTIARP,下载地址如下:http://www.antiarp.com/
 
   6、追根溯源:
    大部分arp欺骗软件都会使用一个叫winpcap的驱动,因此避免该程序的安装就可以从源头防止arp欺骗。但是由于此方法需要将网络配置成域环境,然而很多企业的网络并没有配置成域,所以并不此适用方法,在这里不再详细介绍了,各位如果感兴趣,可以上网查阅相关的资料。

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜