graetdk
23.26D
V2EX  ›  问与答

如何判断是否被运营商劫持?

  •  
  •   graetdk · Dec 30, 2015 · 5464 views
    This topic created in 3812 days ago, the information mentioned may be changed or developed.

    这两天浏览网页经常发现右下角有广告,包括我自己的网站,我觉得肯定是被劫持了,但是并不清楚是运营商劫持的还是下了恶意软件,不过我觉得后者可能性不大,我用的是 Mac OS ,也基本上没装什么第三方软件

    问题来了,那么到底有没有方法能判断是否是运营商劫持?

    PS :相关代码

    Supplement 1  ·  Dec 30, 2015
    打电话投诉,客服好像完全听不懂的样子,然后说上报了,过一会直接派人上门,那个师傅一来就问我,你家的宽带不能上网吗?
    8 replies    2015-12-30 15:33:38 +08:00
    ykqmain
        1
    ykqmain  
       Dec 30, 2015
    我有三次遇到过这种情况,都是在自己的网页下,右下角,点开都是以 api 开头的一个网址,广告。
    我的网页非常简单,只有 HTML ,看代码是没有问题的。
    我也想知道是什么原因,是电信的可能性很大。
    test1199
        2
    test1199  
       Dec 30, 2015
    你是什么运营商?
    在什么地方啊
    graetdk
        3
    graetdk  
    OP
       Dec 30, 2015
    @test1199 四川电信
    h4x3rotab
        4
    h4x3rotab  
       Dec 30, 2015 via iPhone
    找个 http 调试工具,重发浏览器的 http 请求,再看收到的源码有没有被加入后门,这样可以确保劫持不是发生在浏览器上
    libook
        5
    libook  
       Dec 30, 2015   ❤️ 1
    根据你的情况,我见到过的运营商劫持的形式如下,有更多的欢迎补充:
    1. 运营商直接将传输中的 html 篡改,加入广告代码
    2. 运营商劫持某些前端库的 dns ,指向精心构造的广告插件代码

    这个判断起来确实不容易,但是我知道如何防范:
    1. 使用 HTTPS 协议,点对点加密,运营商没有私钥,所以无法解析和篡改数据
    2. 所有第三方库本地化(用 bower 之类的下载下来),然后再做静态资源 CDN 镜像(解决网络优化和流量压力)
    ijimmy
        6
    ijimmy  
       Dec 30, 2015
    直接 curl -v 链接地址 多试几次,就可以判断了。据我所知目前百度统计和 cnzz 统计都被劫持到了 http://www.top616.com/baidujs/jsnew/DAWEIA1.js 这个地址,直接用的 302 跳转,不是 dns 劫持,因为 curl 信息返回的链接地址是正确的。

    附测试结果:
    curl -v http://s14.cnzz.com/stat.php\?id\=xxxxxxxx\&web_id\=xxxxxxxx\&show\=pic
    * Trying 218.63.99.155...
    * Connected to s14.cnzz.com (218.63.99.155) port 80 (#0)
    > GET /stat.php?id=2273190&web_id=2273190&show=pic HTTP/1.1
    > Host: s14.cnzz.com
    > User-Agent: curl/7.43.0
    > Accept: */*
    >
    < HTTP/1.1 302 Moved Temporarily
    < Location: http://www.top616.com/baidujs/jsnew/DAWEIA1.js
    * no chunk, no close, no size. Assume close to signal end
    <
    * Closing connection 0
    ijimmy
        7
    ijimmy  
       Dec 30, 2015
    额,上面说错了一句,“因为 curl 信息返回的链接地址是正确的” 应该是 “因为 curl 信息返回的 IP 地址是正确的”
    mkeith
        8
    mkeith  
       Dec 30, 2015
    右键查看源代码啊?插件修改的这里就不会有了啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2843 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 08:06 · PVG 16:06 · LAX 01:06 · JFK 04:06
    ♥ Do have faith in what you're doing.