什么是ARP?
          ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。

          什么是ARP欺骗?
          从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。

         第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。

     近期“ ARP 欺骗”***病毒在网络中扩散,严重影响了网络的正常运行。感染此***的计算机试图通过“ ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。ARP欺骗***的中毒现象表现为:使用局域网上网时会突然掉线,过一段时间后又会恢复正常。比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。如果局域网是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS窗口下运行命令arp -d后,又可恢复上网。
 
 
          如何检查和处理“ ARP 欺骗”***的方法
 
           1 .检查本机的“ ARP 欺骗”***染毒进程
 
同时按住键盘上的“ CTRL ”和“ ALT ”键再按“ DEL ”键,选择“任务管理器”,点选“进程”标签。察看其中是否有一个名为“ MIR0.dat ”的进程。如果有,则说明已经中毒。右键点击此进程后选择“结束进程”。参见右图。

           2 .检查网内感染“ ARP 欺骗”***染毒的计算机
在“开始” - “程序” - “附件”菜单下调出“命令提示符”。输入并执行以下命令:
ipconfig
记录网关 IP 地址,即“ Default Gateway ”对应的值,例如“ 59.66.36.1 ”。再输入并执行以下命令:
arp –a
在“ Internet Address ”下找到上步记录的网关 IP 地址,记录其对应的物理地址,即“ Physical Address ”值,例如“ 00-01-e8-1f-35-54 ”。在网络正常时这就是网关的正确物理地址,在网络受“ ARP 欺骗”***影响而不正常时,它就是***所在计算机的网卡物理地址。
也可以扫描本子网内的全部 IP 地址,然后再查 ARP 表。如果有一个 IP 对应的物理地址与网关的相同,那么这个 IP 地址和物理地址就是中毒计算机的 IP 地址和网卡物理地址。

         3 .设置 ARP 表避免“ ARP 欺骗”***影响的方法
本方法可在一定程度上减轻中***的其它计算机对本机的影响。用上边介绍的方法确定正确的网关 IP 地址和网关物理地址,然后在 “命令提示符”窗口中输入并执行以下命令:
arp –s 网关 IP 网关物理地址

         4.态ARP绑定网关
         步骤一:
         在能正常上网时,进入MS-DOS窗口,输入命令:arp -a,查看网关的IP对应的正确MAC地址, 并将其记录下来。
  注意:如果已经不能上网,则先运行一次命令arp -d将arp缓存中的内容删空,计算机可暂时恢复上网(***如果不停止的话)。一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp -a。
         步骤二:
         如果计算机已经有网关的正确MAC地址,在不能上网只需手工将网关IP和正确的MAC地址绑定,即可确保计算机不再被欺骗***。
  要想手工绑定,可在MS-DOS窗口下运行以下命令:
  arp -s 网关IP 网关MAC
  例如:假设计算机所处网段的网关为192.168.1.1,本机地址为192.168.1.5,在计算机上运行arp -a后输出如下:
  Cocuments and Settings>arp -a
  Interface:192.168.1.5 --- 0x2
  Internet Address Physical Address Type
  192.168.1.1  00-01-02-03-04-05 dynamic
  其中,00-01-02-03-04-05就是网关192.168.1.1对应的MAC地址,类型是动态(dynamic)的,因此是可被改变的。
  被***后,再用该命令查看,就会发现该MAC已经被替换成***机器的MAC。如果希望能找出***机器,彻底根除***,可以在此时将该MAC记录下来,为以后查找该***的机器做准备。
  手工绑定的命令为:
  arp -s 192.168.1.1  00-01-02-03-04-05
  绑定完,可再用arp -a查看arp缓存:
  Cocuments and Settings>arp -a
  Interface: 192.168.1.5 --- 0x2
  Internet Address Physical Address Type
  192.168.1.1  00-01-02-03-04-05 static
  这时,类型变为静态(static),就不会再受***影响了。
  但是,需要说明的是,手工绑定在计算机关机重启后就会失效,需要再次重新绑定。所以,要彻底根除***,只有找出网段内被病毒感染的计算机,把病毒杀掉,才算是真正解决问题。

5 .作批处理文件
  在客户端做对网关的arp绑定,具体操作步骤如下:
  步骤一:
  查找本网段的网关地址,比如192.168.1.1,以下以此网关为例。在正常上网时,“开始→运行→cmd→确定”,输入:arp -a,点回车,查看网关对应的Physical Address。
比如:网关192.168.1.1 对应00-01-02-03-04-05。
  步骤二:
  编写一个批处理文件rarp.bat,内容如下:
  @echo off
  arp -d
  arp -s  192.168.1.1  00-01-02-03-04-05
  保存为:rarp.bat。
  步骤三:
  运行批处理文件将这个批处理文件拖到“Windows→开始→程序→启动”中,如果需要立即生效,请运行此文件。
  注意:以上配置需要在网络正常时进行

简单点说快速找到ARP病毒源的方法:
        总计两招:
     第一招:使用软件Sniffer抓包  
     在网络内任意一台主机上运行抓包软件,捕获所有到达本机的数据包。如果发现有某个IP不断发送请求包,那么这台电脑一般就是病毒源。原理:无论何种ARP病毒变种,行为方式有两种,一是欺骗网关,二是欺骗网内的所有主机。最终的结果是,在网关的ARP缓存表中,网内所有活动主机的MAC地址均为中毒主机的MAC地址;网内所有主机的ARP缓存表中,网关的MAC地址也成为中毒主机的MAC地址。前者保证了从网关到网内主机的数据包被发到中毒主机,后者相反,使得主机发往网关的数据包均发送到中毒主机。
 
      第二招:使用arp -a命令 任意选两台不能上网的主机,在DOS命令窗口下运行arp -a命令。例如在结果中,两台电脑除了网关的IP,MAC地址对应项,都包含了192.168.0.186的这个IP,则可以断定192.168.0.186这台主机就是病毒源。原理:一般情况下,网内的主机只和网关通信。正常情况下,一台主机的ARP缓存中应该只有网关的MAC地址。如果有其他主机的MAC地址,说明本地主机和这台主机最后有过数据通信发生。如果某台主机(例如上面的192.168.0.186)既不是网关也不是服务器,但和网内的其他主机都有通信活动,且此时又是ARP病毒发作时期,那么,病毒源也就是它了。