之前就有所耳闻校园网使用路由器可能被检测到并被劫持导致无法上网。果然不久之后就出现如下页面,无论如何刷新都是这样。 具体是如何检测到我使用路由的无从得知,不过使用Wireshark抓包分析可以知道整个流程是被铁通(移动)捣蛋了。当已被检测到使用路由器的用户发出网页GET请求时,移动抢先使用对方IP发送他的网页内容,而之后实际网页内容页面是有发送的,但被电脑所丢弃。

详细分析得知这个铁通伪造HTTP响应包在TCP Flags用的保留字段设置了值,那么很简单可以通过这个特征使用iptables过滤掉。 另一件奇葩事是当我下载文件时,发现很多文件最终下载地址都被重定向到一个IP上,而且是移动的IP。

仍然是通过Wireshark抓包分析得知,在用户GET请求下载文件时,铁通同样抢先返回一个302重定向响应,将用户重定向到移动的缓存服务器下载,以节省网间结算费用。这当然没什么不好,下载速度还更快了,但要命的是我下了10个文件就有1个文件损坏,这个不能忍。

通过分析仍然可以抓到特征,这个伪造的302包在TCP的Urgent Pointer字段设置了10,但TCP Flags没有设置Urgent,之后正常数据包仍然会到达电脑,所以还是可以通过iptables屏蔽该包解决。

暂时两大劫持基本解决。