从网络搜索,电信广告劫持一般用旁路插入,而不是路由插入。这种一般是电信机房交换机的局域网进行的,可以抓包,可以伪造包。那么广告劫持伪造数据包插入的时间是,
如果触发广告劫持,真正的服务器可能会被断开链接,所以解决方法有两个 ,
避开当然是首选。测试下来发现,我这边电信劫持触发条件可能就是HTTP头的 Host 包含某些网站域名。如果发送HTTP请求的时候,不要一股脑发出去,第一个数据包只发10个字节,等200-300ms后再发剩下的。等待时间主要是确保这10个字节已经按一个包发出去了,而不是在系统缓存可能会跟后续的数据合并。
我现在的实现是这样的。在linux路由器上 (我的是华硕的 RT-AC87U),用 iptables PREROUTING 的功能对80端口的请求转发到程序进行处理。这个方法跟 REDSOCKS 的透明代理一样。
现在这个方法用下来一天,只出现过一次劫持 (本来分分钟会见到,忍无可忍才要研究这个),调节第二个发送延迟到300ms就再也没出现过了。
也许还有更高效的方法,懂的来说说哦。
1
invite 2015-01-27 12:51:49 +08:00
分分钟会见到?
不是吧,那不是要劫持循环了? |
2
tiankwx 2015-01-27 13:33:24 +08:00
我遭遇过铁通的劫持,每个网站的某一个JS文件都会被他们转发一次,打开京东,百度什么的,刷新半天都不可能打开,恶心死我了,后来查到,在“本地安全策略”-“IP安全策略,在本地计算机”里可以限制IP,我用chrome的开发者工具跟踪了好久,锁定几个域名与IP,他们或加入IP安全策略或加入host文件,终于清净了~~~
刚才发到另一个贴子了,有这里在贴一下~~ |
5
benbob 2015-01-27 15:53:29 +08:00 via iPhone
这个会影响传输响应速度的喔,多了一道工序
|