V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
graetdk
V2EX  ›  问与答

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

  •  
  •   graetdk · 2015-12-30 09:45:36 +08:00 · 5000 次点击
    这是一个创建于 3251 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    PS :相关代码

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

    这个判断起来确实不容易,但是我知道如何防范:
    1. 使用 HTTPS 协议,点对点加密,运营商没有私钥,所以无法解析和篡改数据
    2. 所有第三方库本地化(用 bower 之类的下载下来),然后再做静态资源 CDN 镜像(解决网络优化和流量压力)
    ijimmy
        6
    ijimmy  
       2015-12-30 15:31:44 +08:00
    直接 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  
       2015-12-30 15:32:41 +08:00
    额,上面说错了一句,“因为 curl 信息返回的链接地址是正确的” 应该是 “因为 curl 信息返回的 IP 地址是正确的”
    mkeith
        8
    mkeith  
       2015-12-30 15:33:38 +08:00
    右键查看源代码啊?插件修改的这里就不会有了啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1023 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 19:36 · PVG 03:36 · LAX 11:36 · JFK 14:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.