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

2019-03-08 08:05:26 +08:00
 javashell

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

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

---

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

你的理解是错的。
BOYPT
2019-03-08 09:24:50 +08:00
问题很大。
wireshark 在你的 client->server 通信过程中属于旁路观察,什么 ca 都没用。
想要解密必须 client->MITM->server,串行其中的中间人才可解密。
javashell
2019-03-08 09:27:36 +08:00
@sampeng @presoul @xfspace @reus 非常感谢,看了 wiki,可以理解为 ca 证书是给 mitm 代理证书受信的,解密需要 mitm 代理证书密钥对吗?
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
2019-03-08 09:50:33 +08:00
@xfspace @BOYPT 不一定要中间人吧,如果有 server 端的私钥,理论上可以直接解密 wireshark 抓的包啊。中间人是在没有私钥的情况下才需要的。
crab
2019-03-08 11:46:10 +08:00
用 SSLKEYLOGFILE 方法
ThirdFlame
2019-03-08 11:50:32 +08:00
用 burpsutie/fiddler 来看比较方便,中间人的方法。
另外就是 启用浏览器日志 +wireshark 的方法来解密。
ThirdFlame
2019-03-08 11:51:06 +08:00
哦 不是浏览器的啊。 那只能用上边说的 SSLKEYLOGFILE 方法了。
tony1016
2019-03-08 13:05:47 +08:00
如果是 DH 的话,有私钥也是解不开的
xfspace
2019-03-08 13:27:55 +08:00
@weyou 注意"所有"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/542344

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX