一,ARP欺骗病毒发作迹象:
一般来说ARP欺骗病毒发作主要有以下几个特点,首先网络速度变得非常缓慢,部分计算机能够正常上网,但是会出现偶尔丢包的现象。例如ping网关丢包。而其他大部分计算机是不能够正常上网的,掉包现象严重。但是这些不能上网的计算机过一段时间又能够自动连上。ping网关地址会发现延迟波动比较大。另外即使可以正常上网,象诸如邮箱,论坛等功能的使用依然出现无法正常登录的问题。
二,确认ARP欺骗病毒发作:
当我们企业网络中出现了和上面描述类似的现象时就需要我们在本机通过arp显示指令来确认病毒的发作了。
第一步:通过“开始->运行”,输入CMD指令后回车。这样我们将进入命令提示窗口。
第二步:在命令提示窗口中我们输入ARP -A命令来查询本地计算机的ARP缓存信息。在显示列表中的physical address列就是某IP对应的MAC地址了。如果企业没有进行任何MAC与IP地址绑定工作的话,ARP模式列显示的都是dynamic动态获得。当我们发现arp -a指令执行后显示信息网关地址对应的MAC地址和正确的不同时就可以百分之百的确定ARP欺骗病毒已经在网络内发作了。例如正常情况下笔者网络内网关地址192.168.2.1对应的MAC地址是00-10-5C-AC-3D-0A,然而执行后却发现192.168.2.1对应的MAC地址为00-10-5c-ac-31-b6。网关地址MAC信息错误或变化确认是ARP病毒造成的。(如图1)
第三步:我们用笔将错误的MAC地址记录下来,为日后通过sniffer排查做准备。
接下来我们就应该利用sniffer这个强大的工具来找出病毒根源了。
三,从sniffer下手揪出ARP病毒:
一般来说最好的办法是找一台没有感染病毒的计算机连接到企业核心路由交换设备的镜像端口来抓取数据包。如果没有镜像端口直接连接到网络中抓取也可以,只是所抓数据会不全,分析问题的周期比较长。
第一步:我们按照实际需要将用来分析故障的笔记本连接到交换机的镜像端口上。运行sniffer,在sniffer软件中打开dashboard面板,这个面板主要是扫描当前网络中数据包的宏观信息,即什么样的数据包有多少个。一般来说病毒都是以广播数据包来传播的,所以只需要查看每秒网络内的广播数据包数量就可以判断病毒危害的严重与否。在dashboard面板中我们可以看到broadcasts/s处显示的信息为26个,也就是说对当前网络抓取结果是一秒钟有26个广播数据包。和平常比要多一些。(如图2)
第二步:接下来我们在sniffer软件中切换到hosttable主机列表中,具体查看到底哪个计算机发送的广播数据包最多。一般来说如果网络内有蠕虫病毒,那么这台主机的广播量要远远大于其他主机。例如本例中就会看到有一台计算机的广播数据包为14344个,是其他正常计算机发送包的1000倍还多。这样就可以判断该计算机有问题。(如图3)
第三步:我们在sniffer软件中切换到协议分析标签(protocol distribution,从图中可以看到网络内ARP数据包占用的比例比较大,达到了12%以上,这也是不正常的。一般来说一个正常的网络应该99%以上数据包都是IP数据包,ARP数据包小于1%。(如图4)
第四步:接下来就该对嫌疑犯进行监控了,这在以前的文章中也介绍过,针对发送广播量最大的主机进行抓包分析,能够发现他不断的欺骗网关,向外发送的数据包目的地址都是连续的,声称他是192.168.2.0/24网段的主机,从而造成其他主机无法和正确网关进行正常通讯,都被他欺骗了。(如图5)
第五步:了解到出现问题计算机的MAC地址后我们通过查询sniffer监控的数据,特别是查看该MAC和真正网关地址通讯时数据包的内容就可以找到他的IP地址了。当然如果企业有DHCP服务器的话,也可以到DHCP服务器的地址租约池中查看该MAC地址对应的IP地址信息。总之我们可以通过多种方法来通过MAC找到IP地址,从而最终确定病毒的根源。
第六步:找到了这个有问题的MAC地址和IP地址后我们就可以针对该计算机进行断网隔离杀毒了。杀毒完毕连接到网络中问题全部解决,网络恢复正常。
四,总结:
ARP欺骗病毒的排查和清除方法非常单一,基本上按照本文介绍的方法就可以对付所有ARP欺骗病毒。这种查杀病毒的步骤也是最稳妥和全面的,采取步步为营的策略最终定位病毒根源,保证网络恢复正常传输的状态。