电信运营商的垃圾网络吗?错!DNS服务器的问题吗?错!是杀毒软件。
很久以来一直不明白,为什么我一个2M的adsl,有时候上网上着上着,连打开一个网页居然那么慢(而且可以肯定没有中毒,电信公司的客服好像很喜欢用这个理由来忽悠投诉的网民,呵呵),连google、新浪都要刷新好几次才能打开。大家有时候归咎于电信的dns服务器,电信的的客户时常因为这个挨了不少埋怨。有时候我也深以为然,但是今天一次无意中的分析,才发现了这样一个让人大跌眼镜的事实:
让我(不仅仅我个人,还有公司很多地方都有这个现象)无数次面对着网页狂按F5键,却只能看到404 not found的幕后黑手,竟然是杀毒软件。
今天无意中在环球网浏览新闻的时候,觉得网速不太正常,用听包工具监听了一下数据包,发现十分诡异。只要网页中有一个swf的浮动广告,即便关闭浏览器,都会在很长一段时间内疯狂地往一个ip地址发送http包。我吓了一跳,以为网站上有什么网马,植入到我的机器里,赶紧用冰刃查看了一下端口,想看看是什么进程在发送封包。一看如下:

居然杀毒软件的进程向一个ip发起了大量的http连接,但是一直没有关闭。我在同事的机器上也做了实验,结果一样。(我的杀毒软件是瑞星2009,同事的分别是卡巴斯基和nod32,可见杀软在这个问题上表现惊人一致)我非常纳闷,难道网马已经劫持了杀毒软件?个人觉得不是特别的现实,分析了一下环球网的那几个flash广告以及脚本,其中看到了对这样一个网址的请求:
http://ad.thinkmedia.cn/htracker/pid=1060/media=dx.cn/place=qt/size=240x240
我发现那些大量的http连接都是对这个地址进行http请求之后,不断地发送fin/ack等待服务器响应ack包,却得不到响应。而长期维持着这些连接而不断开的进程正是杀毒软件的进程。我终于明白了,原来杀毒软件为了拦截网马,把浏览器都设为了代理模式,浏览器并不真正和网站通信,而是和杀软通信,然后杀软和网站通信。中间过一道。
环球网的广告js脚本会不断地异步的请求上述的url,不知出于服务端繁忙还是故意做了手脚,那个服务器对于关闭连接的请求完全不与响应。以至于,杀软进程不得不疯狂地维持着上百个http连接,而无法断开。这个时候,我用浏览器访问新浪、网易还有google,都仿佛回来了九八年,刷半天不出来,出来也是样式表半残的状态。
国内有大量的中小网站,依靠一些实力不够雄厚的广告联盟来获利,而这些联盟的服务器不够强悍,以至于这些基于ajax的内嵌统计和链接,将直接导致对客户端浏览器的拒绝服务攻击。
可悲呀,杀毒软件本来是要保护大家不中网马,可惜这样一搞,反而成了大幅度拖慢用户网速的罪魁祸首。这么多年来一直冤枉电信的小妹妹,真是一场误会。
经过反复尝试,给大家一个临时解决方案:
1、临时断网半分钟,等所有连接被释放再重新连网;
2、关闭杀软代理的那个进程,你就会发现网速立马就又刷刷的了。
【原创】www.leezj.com,转载请注明出处。