现象
深圳这边的网络经常被劫持,比方我下载一个A,下载的内容会变成了B。之前挂上代理,就可以正常下载了。今天遇到这个问题访问codeforces自动变成访问www.cjb.com
查找原因
挂上了代理,访问了一下codeforces.com,还是一样问题。但是在国外vps上wget www.codeforces.com,看了一下index.html源码是没有问题。
先在本地Ping一下 codeforces.com
$ ping codeforces.com
PING codeforces.com (212.193.33.27) 56(84) bytes of data.
64 bytes from codeforces.ptr.sgu.ru (212.193.33.27): icmp_seq=1 ttl=46 time=246 ms
64 bytes from codeforces.ptr.sgu.ru (212.193.33.27): icmp_seq=2 ttl=46 time=251 ms
--- codeforces.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 246.038/248.665/251.293/2.674 ms
然后ssh登录到国外的vps上,再ping 一下codeforces.com,可以看到ip解析是一样的。
或者利用站长工具,反查域名
基本排除了dns污染问题
注意到每次其实进入了codeforces,但是会自动跳转了。猜测是js跳转的。
在chrome下,打开开发者工具,打算抓包看一看。Network勾上Preserve log,立刻访问codeforces。可以看到codeforces,其实是能访问到的:
过滤出js文件,发现了一个js文件,是codefoces访问的非codeforces的地址,connect.facebook.net这个域名不清楚是什么。
打开这个一看就明白了,就一行:
top.location='http://www.cjb.net/'//<script>top.location='http://www.cjb.net/'</script>
现在劫持都这么明目张胆了
解决
直接在adblock上加上过滤