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

https 协议,有什么东西是靠抓包能窃取的?

  •  
  •   LeeReamond · 2021-07-13 23:39:17 +08:00 via Android · 4238 次点击
    这是一个创建于 1261 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,比如访问 Baidu.com/query?p=1 这个网址,印象中上级 dns 服务器能知道你在请求百度.com ,但是子链接和其他信息一概无法获得?

    有点不确定,搜了一会没搜到相关信息,有没有大佬来指点一下
    14 条回复    2021-07-14 20:37:39 +08:00
    3dwelcome
        1
    3dwelcome  
       2021-07-13 23:42:36 +08:00
    安全协议里,至少 query?p=1 是没办法中间人截取的,要不然对不起 HTTPS 最后那个 Secure 单词。
    crab
        2
    crab  
       2021-07-13 23:48:52 +08:00
    就 sni 了啊
    3dwelcome
        3
    3dwelcome  
       2021-07-13 23:49:55 +08:00
    域名没办法,因为是写死在 SSL 证书里的,传递证书相当于握手阶段早期,数据都没加密,大家随便看。

    但是握手完成后,数据都走加密流程,GET/POST 这种第三方肯定就没办法偷窥了。
    ruixue
        4
    ruixue  
       2021-07-13 23:51:29 +08:00
    服务器名称指示(英语:Server Name Indication,缩写:SNI )是 TLS 的一个扩展协议,在该协议下,在握手过程开始时客户端告诉它正在连接的服务器要连接的主机名称。这允许服务器在相同的 IP 地址和 TCP 端口号上呈现多个证书,并且因此允许在相同的 IP 地址上提供多个安全( HTTPS )网站(或其他任何基于 TLS 的服务),而不需要所有这些站点使用相同的证书。它与 HTTP/1.1 基于名称的虚拟主机的概念相同,但是用于 HTTPS 。所需的主机名未加密,因此窃听者可以查看请求的网站。

    SNI 没有加密,所以主要就是主机名(域名),具体的路径看不到
    cache
        5
    cache  
       2021-07-14 00:04:40 +08:00   ❤️ 1
    SNI 会暴露目标域名 ,所以 TLS 1.3 搞了个 esni

    https://blog.cloudflare.com/encrypted-sni/
    Yourshell
        6
    Yourshell  
       2021-07-14 00:09:33 +08:00   ❤️ 2
    LeeReamond
        7
    LeeReamond  
    OP
       2021-07-14 00:25:37 +08:00
    @cache 挺有意思的,学习了,不知道 sni 也能保护,tls1.3 应该是个挺普遍的协议版本,所以现在大多数 https 流量,连域名都是被保护的?不过看了看文章,似乎对 dns 服务器不能保密,只是防止第三方截取而已。其实只能算个半保密吧我觉得,因为 dns 服务商往往也未必可信。
    dingwen07
        8
    dingwen07  
       2021-07-14 01:41:37 +08:00 via iPhone   ❤️ 1
    @LeeReamond #7 再加上 DoH
    2kCS5c0b0ITXE5k2
        9
    2kCS5c0b0ITXE5k2  
       2021-07-14 01:48:11 +08:00   ❤️ 1
    iseki
        10
    iseki  
       2021-07-14 02:08:46 +08:00   ❤️ 2
    @LeeReamond ESNI 并不是强制开启的部分···况且还处于草案状态。另,某些设施会对 ESNI 无差别···
    shansing
        11
    shansing  
       2021-07-14 08:31:44 +08:00   ❤️ 1
    @3dwelcome #3 @LeeReamond #7 从现状来说,域名没有加密。但不是因为证书暴露,因为在 TLS 1.3 中证书也被加密了。明文的是 SNI 。(也有加密扩展 ESNI,但显然还不成熟,眼看将来也很难铺开。)
    NewYear
        12
    NewYear  
       2021-07-14 09:11:48 +08:00   ❤️ 5
    为了防止楼主偷窥,HTTPS 协议新版连域名部分都藏起来了。。。
    dfkjgklfdjg
        13
    dfkjgklfdjg  
       2021-07-14 10:43:29 +08:00
    @NewYear #12,红红火火恍恍惚惚哈哈哈哈哈哈哈哈哈哈
    LeeReamond
        14
    LeeReamond  
    OP
       2021-07-14 20:37:39 +08:00
    @iseki 所以意为即使有 esni,在实际操作中实质上在进行某些活动时你是无法向上级服务提供商隐藏自己的访问网址的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1144 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:35 · PVG 02:35 · LAX 10:35 · JFK 13:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.