V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
albertjin
V2EX  ›  宽带症候群

对付电信 HTTP 广告劫持

  •  1
     
  •   albertjin · 2015-01-27 12:39:04 +08:00 · 4083 次点击
    这是一个创建于 3586 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从网络搜索,电信广告劫持一般用旁路插入,而不是路由插入。这种一般是电信机房交换机的局域网进行的,可以抓包,可以伪造包。那么广告劫持伪造数据包插入的时间是,

    1. 客户端的第一个包之后
    2. 服务器发出第一个包之前

    如果触发广告劫持,真正的服务器可能会被断开链接,所以解决方法有两个 ,

    1. 避开触发条件
    2. 如果触发了,那么丢弃当前连接,重新连服务器

    避开当然是首选。测试下来发现,我这边电信劫持触发条件可能就是HTTP头的 Host 包含某些网站域名。如果发送HTTP请求的时候,不要一股脑发出去,第一个数据包只发10个字节,等200-300ms后再发剩下的。等待时间主要是确保这10个字节已经按一个包发出去了,而不是在系统缓存可能会跟后续的数据合并。

    我现在的实现是这样的。在linux路由器上 (我的是华硕的 RT-AC87U),用 iptables PREROUTING 的功能对80端口的请求转发到程序进行处理。这个方法跟 REDSOCKS 的透明代理一样。

    现在这个方法用下来一天,只出现过一次劫持 (本来分分钟会见到,忍无可忍才要研究这个),调节第二个发送延迟到300ms就再也没出现过了。

    也许还有更高效的方法,懂的来说说哦。

    invite
        1
    invite  
       2015-01-27 12:51:49 +08:00
    分分钟会见到?
    不是吧,那不是要劫持循环了?
    tiankwx
        2
    tiankwx  
       2015-01-27 13:33:24 +08:00
    我遭遇过铁通的劫持,每个网站的某一个JS文件都会被他们转发一次,打开京东,百度什么的,刷新半天都不可能打开,恶心死我了,后来查到,在“本地安全策略”-“IP安全策略,在本地计算机”里可以限制IP,我用chrome的开发者工具跟踪了好久,锁定几个域名与IP,他们或加入IP安全策略或加入host文件,终于清净了~~~

    刚才发到另一个贴子了,有这里在贴一下~~
    albertjin
        3
    albertjin  
    OP
       2015-01-27 14:36:31 +08:00
    @invite 就是比较频繁的意思啊
    albertjin
        4
    albertjin  
    OP
       2015-01-27 14:40:57 +08:00
    @tiankwx 如果按IP地址触发劫持,这没办法避开了。只有重连了,在路由器做,可以做到浏览器没有察觉
    benbob
        5
    benbob  
       2015-01-27 15:53:29 +08:00 via iPhone
    这个会影响传输响应速度的喔,多了一道工序
    albertjin
        6
    albertjin  
    OP
       2015-01-27 16:18:31 +08:00
    @benbob 几毫秒对于人类来说太短了。如果这个机制部署在带宽有几个G的交换机是个问题,家里用用影响感觉不出来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3424 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:37 · PVG 12:37 · LAX 20:37 · JFK 23:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.