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

运营商能否知道我访问某些 HTTPS 网站的域名?

  •  
  •   mixchen01 · 2018-07-29 12:32:39 +08:00 via iPhone · 5007 次点击
    这是一个创建于 2313 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如我不经过代理访问 github.com 这个网站,运营商或者抓包能否知道我在访问 github.com 这个域名?
    21 条回复    2018-07-30 18:23:32 +08:00
    just1
        1
    just1  
       2018-07-29 12:34:49 +08:00 via Android   ❤️ 1
    可以的,证书里有
    t6attack
        2
    t6attack  
       2018-07-29 12:38:52 +08:00   ❤️ 1
    敲完回车,第一个 UDP 包就把域名交出去了。
    zhuanzh
        3
    zhuanzh  
       2018-07-29 12:39:15 +08:00 via Android   ❤️ 1
    可以啊 dns 了解一下 明文的
    dns over tls 可以解决但没有广泛使用
    mixchen01
        4
    mixchen01  
    OP
       2018-07-29 12:41:21 +08:00
    @just1
    @t6attack
    @zhuanzh
    感谢解答
    heiyutian
        5
    heiyutian  
       2018-07-29 12:45:16 +08:00 via Android
    能知道域名全部地址吗?比如 baidu.com 他知道了,baidu.com/xxx.xxx
    RobertYang
        6
    RobertYang  
       2018-07-29 12:46:06 +08:00 via Android   ❤️ 1
    知道,请求头里面就有,明文
    mofe
        7
    mofe  
       2018-07-29 12:46:42 +08:00 via iPhone
    @heiyutian 不能
    miyuki
        8
    miyuki  
       2018-07-29 12:56:58 +08:00   ❤️ 1
    DNS 解析会有
    证书也会暴露
    miyuki
        9
    miyuki  
       2018-07-29 12:58:34 +08:00   ❤️ 1
    @heiyutian

    不能,baidu.com 是证书中的

    以下内容是加密的


    GET /xxx.xxx

    Host: baidu.com
    Referer: https://www.v2ex.com/t/475061
    heiyutian
        10
    heiyutian  
       2018-07-29 13:05:25 +08:00 via Android   ❤️ 1
    @mofe
    @miyuki 那就好,这样稍微放点心。
    richard1122
        11
    richard1122  
       2018-07-29 13:10:14 +08:00   ❤️ 2
    现在握手时候都有 SNI 的,域名是明文发送的。

    https://zh.wikipedia.org/wiki/%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%8D%E7%A7%B0%E6%8C%87%E7%A4%BA
    xierch
        12
    xierch  
       2018-07-29 13:51:27 +08:00   ❤️ 2
    xierch
        13
    xierch  
       2018-07-29 13:53:01 +08:00   ❤️ 1
    TLS 1.3 开始证书也会加密传了
    gam2046
        14
    gam2046  
       2018-07-29 15:53:40 +08:00   ❤️ 1
    client hello 里一定是包含域名信息的。不然服务端怎么知道具体下发哪个证书?

    当然完整的访问 URI 是拿不到的,握手完成后,才会进行这些信息的交换。

    来参考一下这个流程图?

    https://upload-images.jianshu.io/upload_images/128529-abd6f1e1e6e126b5.jpg?imageMogr2/auto-orient/
    caola
        15
    caola  
       2018-07-29 18:30:56 +08:00   ❤️ 1
    SNI 加密的相关草案:
    https://tools.ietf.org/html/draft-ietf-tls-sni-encryption
    https://tools.ietf.org/html/draft-rescorla-tls-esni

    或许以后就会迎来加密的 SNI,到那时某防火墙不知道还有这么给力么。。。
    dahounet
        16
    dahounet  
       2018-07-29 18:47:35 +08:00 via Android
    @caola dns 污染了解一下,封 ip 了解一下
    caola
        17
    caola  
       2018-07-30 04:26:41 +08:00
    @dahounet SNI 加密草案中也提到了 DNS 污染问题,客户端要通过校验 DNSSEC 和 DoH/DPRIVE 来保护 DNS,
    DNSSEC 的扩展也容易被劫持 (某防火墙就干了这事),但 DoH 又会产生一定的性能问题。
    我相信这个问题会得到解决,比如使用正在草案的 DoQ (DNS over QUIC) 。

    如果 SNI 加密和 DNS 得到真正的解决,那么封 IP 的意义已经不大了,
    以后是 IPV6 的天下 IP 多得是,整段的封? TM 不会换其他段的 IP 啊,反正 IP 多得是且免费,看你怎么封,
    即使不备案使用国内的服务器又怎样,反正机房或服务器商,都根本不会知道你访问的域名和内容是什么,谈何封锁。。。
    flowfire
        18
    flowfire  
       2018-07-30 10:02:46 +08:00 via iPhone
    @caola #17 白名单了解一下
    caola
        19
    caola  
       2018-07-30 17:46:51 +08:00
    @flowfire 如果解决了 SNI 加密 和 DNS 的安全问题,白名单有个屁用!

    加入 hsts 列表的域名,或者像 .app 后缀之类默认是 hsts 里的域名,压根都不会走 http 协议

    请问在此情况下,你如何检查用户访问的域名及内容是什么?你如何白名单?
    flowfire
        20
    flowfire  
       2018-07-30 17:52:59 +08:00
    @caola #19 dns 最终都要解析到 IP
    只需要规定白名单以外的 IP 不允许 ISP 提供互联网服务,你上层再怎么加密也毫无卵用。
    caola
        21
    caola  
       2018-07-30 18:23:32 +08:00
    @flowfire 即使这样,那就使用能提供互联网服务器的主机商又如何?
    你的主机商能检查到传输的域名和内容吗? 然并卵吧。。。
    也只能通过人工举报的方式,然后换个主机商不就行了,或者多个主机商之间每隔一段时间切换,你奈我何?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5961 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 02:47 · PVG 10:47 · LAX 18:47 · JFK 21:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.