局域网内的所有主机上网时断时续,十有八九是ARP病毒在作祟,例如前段时间猖狂作案的“熊猫烧香”病毒就是一个ARP病毒。我们处理这样的情况时,第一步首先找出感染病毒的主机,然后将其从网络中断开,清除对网内其他机器的影响后,然后再慢慢收拾病毒。
第一招:使用Sniffer抓包
在网络内任意一台主机上运行抓包软件,捕获所有到达本机的数据包。如果发现有某个IP不断发送
ARP Request请求包,那么这台电脑一般就是病毒源。
原理:无论何种ARP病毒变种,行为方式有两种,一是欺骗网关,二是欺骗网内的所有主机。最终的结果是,在网关的ARP缓存表中,网内所有活动主机的MAC 地址均为中毒主机的MAC地址;网内所有主机的ARP缓存表中,网关的MAC地址也成为中毒主机的MAC地址。前者保证了从网关到网内主机的数据包被发到中毒主机,后者相反,使得主机发往网关的数据包均发送到中毒主机。
第二招:使用arp -a命令
任意选两台不能上网的主机,在DOS命令窗口下运行arp -a命令。例如在结果中,两台电脑除了网关的IP,MAC地址对应项,都包含了116.13.161.49的这个IP,则可以断定116.13.161.49这台主机就是病毒源。
原理:一般情况下,网内的主机只和网关通信。正常情况下,一台主机的ARP缓存中应该只有网关的MAC地址。如果有其他主机的MAC地址,说明本地主机和这台主机最后有过数据通信发生。如果某台主机(例如上面的116.13.161.49)既不是网关也不是服务器,但和网内的其他主机都有通信活动,且此时又是ARP病毒发作时期,那么,病毒源也就是它了。
第三招:使用tracert命令
在任意一台受影响的主机上,在DOS命令窗口下运行如下命令:tracert 202.96.134.133。
假定设置的缺省网关为116.13.161.254,在跟踪一个外网地址时,第一跳却是116.13.161.49,那么,116.13.161.49就是病毒源。
原理:中毒主机在受影响主机和网关之间,扮演了“中间人”的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。