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

关于 wireshark 解密 ssl 数据包的疑问

  •  
  •   javashell · 2019-03-08 08:05:26 +08:00 via Android · 3974 次点击
    这是一个创建于 2117 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想在本机上抓取经过 ssl 加密的数据包(非 htts),在我的理解中就是创建一个 ROOT CA 证书,放到电脑的受信任的根证书颁发机构,然后启用 wireshark 抓包,在 wireshark 的 ssl 协议里 RSA KEY LIST 添加 CA 的密钥就能解密。 可是实际中并没有解密出来,请问我的方法有问题吗?

    15 条回复    2019-03-08 13:27:55 +08:00
    sampeng
        1
    sampeng  
       2019-03-08 08:06:18 +08:00 via iPhone   ❤️ 1
    怕你是对抓包和解密有什么误解…
    javashell
        2
    javashell  
    OP
       2019-03-08 08:12:54 +08:00 via Android
    @sampeng 请问那要怎么做才能解密
    sampeng
        3
    sampeng  
       2019-03-08 08:18:59 +08:00 via iPhone
    @javashell 这么说吧…你装根证书不是说流过 pc 的数据都变成解好密的了。所以…出门右拐 google wireshark https
    presoul
        4
    presoul  
       2019-03-08 08:21:53 +08:00 via Android
    你可以 wireshark https 从握手到 application data 的过程
    xfspace
        5
    xfspace  
       2019-03-08 08:34:50 +08:00 via Android
    方法没问题,想法有问题
    换言之

    ---

    Decrypt 所有 TLS 数据包要上 MITM
    reus
        6
    reus  
       2019-03-08 09:20:17 +08:00
    你没有加密用的密钥,那就不能解密,如果像你这样就能解密,那还叫什么加密?

    你的理解是错的。
    BOYPT
        7
    BOYPT  
       2019-03-08 09:24:50 +08:00   ❤️ 1
    问题很大。
    wireshark 在你的 client->server 通信过程中属于旁路观察,什么 ca 都没用。
    想要解密必须 client->MITM->server,串行其中的中间人才可解密。
    javashell
        8
    javashell  
    OP
       2019-03-08 09:27:36 +08:00 via Android
    @sampeng @presoul @xfspace @reus 非常感谢,看了 wiki,可以理解为 ca 证书是给 mitm 代理证书受信的,解密需要 mitm 代理证书密钥对吗?
    0ZXYDDu796nVCFxq
        9
    0ZXYDDu796nVCFxq  
       2019-03-08 09:41:34 +08:00
    Wireshark 抓 TLS 的包,这一篇就够了:
    http://www.joji.me/en-us/blog/walkthrough-decrypt-ssl-tls-traffic-https-and-http2-in-wireshark

    如果是抓浏览器的,推荐使用 SSLKEYLOGFILE 的方式
    weyou
        10
    weyou  
       2019-03-08 09:50:33 +08:00 via Android
    @xfspace @BOYPT 不一定要中间人吧,如果有 server 端的私钥,理论上可以直接解密 wireshark 抓的包啊。中间人是在没有私钥的情况下才需要的。
    crab
        11
    crab  
       2019-03-08 11:46:10 +08:00
    用 SSLKEYLOGFILE 方法
    ThirdFlame
        12
    ThirdFlame  
       2019-03-08 11:50:32 +08:00
    用 burpsutie/fiddler 来看比较方便,中间人的方法。
    另外就是 启用浏览器日志 +wireshark 的方法来解密。
    ThirdFlame
        13
    ThirdFlame  
       2019-03-08 11:51:06 +08:00
    哦 不是浏览器的啊。 那只能用上边说的 SSLKEYLOGFILE 方法了。
    tony1016
        14
    tony1016  
       2019-03-08 13:05:47 +08:00
    如果是 DH 的话,有私钥也是解不开的
    xfspace
        15
    xfspace  
       2019-03-08 13:27:55 +08:00 via Android
    @weyou 注意"所有"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4793 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:01 · PVG 18:01 · LAX 02:01 · JFK 05:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.