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

https 到底加密了什么?

  •  
  •   jtsai · 2017-08-12 15:20:39 +08:00 · 4805 次点击
    这是一个创建于 2655 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用火狐的一个抓包工具 httpfox 对 https 进行抓包。post 数据包都是明文显示。

    都说 https 是密文传输,那么 https 到底加密了什么?

    16 条回复    2017-08-12 22:11:34 +08:00
    atc
        1
    atc  
       2017-08-12 15:24:31 +08:00   ❤️ 1
    加密是端到端的,从浏览器抓出来的当然是明文
    你得用 wireshark 这种网卡抓包工具才能看得出来
    FanWall
        2
    FanWall  
       2017-08-12 15:24:36 +08:00   ❤️ 1
    这应该是属于插件吧 浏览器帮你解密了 不然怎么阅读... 实际传输的还是密文的
    binux
        3
    binux  
       2017-08-12 15:24:42 +08:00 via Android   ❤️ 1
    浏览器自己当然可以解密了
    loveCoding
        4
    loveCoding  
       2017-08-12 15:26:56 +08:00   ❤️ 2
    兄弟 , 浏览器要是解密不出来那还搞毛啊 .
    你试着用 charles 抓下包
    est
        5
    est  
       2017-08-12 15:27:13 +08:00 via iPhone   ❤️ 1
    wireshark 导入私钥就可以解了。


    1L 说得对。SSL 是端到端,你本来就是端所以可以直接抓包。
    jtsai
        6
    jtsai  
    OP
       2017-08-12 15:30:04 +08:00
    jtsai
        7
    jtsai  
    OP
       2017-08-12 17:00:36 +08:00
    @atc
    @FanWall
    @binux
    @loveCoding
    @est

    请问?

    日常我们写爬虫程序或使用浏览器请求 https (此 https 服务器含有正规机构颁发的合法证书)时,爬虫程序或者浏览器都默默无闻的自动帮我们处理了一大堆的加密解密吗?这一切是不需要我们打理的?
    est
        8
    est  
       2017-08-12 17:05:40 +08:00 via iPhone   ❤️ 1
    @jtsai 为了速度,我估计大部分爬虫不会检验服务器证书合法性。有被劫持风险
    jtsai
        9
    jtsai  
    OP
       2017-08-12 17:11:07 +08:00
    @est 你的意思?爬虫们(例如 python requests )就扔一个 ssl 信息过去,然后拿到服务器的证书,不验证了,加密数据,然后发过去?这些步骤好复杂啊,requests 一直都默默无闻的完成这些东西啊?
    XYxe
        10
    XYxe  
       2017-08-12 17:22:26 +08:00   ❤️ 1
    Sikoay
        11
    Sikoay  
       2017-08-12 17:27:54 +08:00 via Android
    数据发送给服务器之前进入隧道(加密)到达服务器之后数据在出隧道,所以在传输的过程中别人是无法看到传输的信息的
    deadEgg
        12
    deadEgg  
       2017-08-12 17:55:22 +08:00
    @loveCoding charles 依然可以抓 https 的包,只要装了 charles 的证书就可以。
    https 只是保证交换过程中是被加密的, charles 抓 https 抓包的原理应该是类似中间人的过程。
    catror
        13
    catror  
       2017-08-12 17:57:20 +08:00 via Android
    加密了 HTTP 协议。HTTPS 有个很好理解的解释是 HTTP over SSL
    est
        14
    est  
       2017-08-12 18:05:29 +08:00 via iPhone
    @jtsai requests 算起来是 4 道贩子了


    urllib3
    httplib
    ssl
    _ssl
    azh7138m
        15
    azh7138m  
       2017-08-12 18:32:00 +08:00 via Android
    @deadEgg 是机器要信任 charles 给你的一个证书
    lovedebug
        16
    lovedebug  
       2017-08-12 22:11:34 +08:00
    其实简单说是一开始握手阶段用非对称方式来加密后续用来加密一般消息的对称加密密钥。😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4922 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:52 · PVG 17:52 · LAX 01:52 · JFK 04:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.