我是靠谱客的博主 热心抽屉,最近开发中收集的这篇文章主要介绍wireshark怎么抓包_Wireshark解析TLS协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前段时间有个大厂的朋友问怎么从Windows客户端软件抓取HTTPS协议的通讯,解决这个问题的方法有很多。使用Wireshark也可以做TLS协议的解析:一种是直接根据RSA私钥进行解密,RSA私钥通常情况下很难获得(没有使用DH密钥交换;协议是SSLv3,TLS 1.0-1.2;必须是服务器证书的私钥;建立连接时必须有ClientKeyExchange握手信息);一种是使用会话密钥的日志文件,这是通用办法,即便使用DH密钥交换也可以做解密。

密钥日志文件是系统配置环境变量SSLKEYLOGFILE后浏览器生成的文本文件,也就是每次会话密钥会写入这个文本文件中。Wireshark配置该文件后即可解析抓取的TLS通讯数据。

Wireshark的首选项→Protocols下选择TLS,在其中的(Pre)-Master-Secret log filename中配置环境变量SSLKEYLOGFILE中配置的日志文件路径即可,配置完成后需重启浏览器。TLS debug file可以记录数据解密过程。

799c390c917aa0148907f84c512ab362.png

配置Pre-Master-Secret log filename

为了使密钥日志文件解密协议内容生效,还需要配置Protocols下的TCP协议,启用“Reassemble out-of-order segments”,该选项在3.0版本后默认是禁用的。

52636dff2dd251c48d7744ba35427eaa.png

配置Reassemble out-of-order segments

配置RSA密钥解密,可以在Protocols下的“RSA密钥”对话框中配置密钥文件,文件格式可以是PEM或者PKCS#12格式(.pfx或.p12后缀)。

Wireshark官网提供了批处理脚本来避免设置全局环境变量SSLKEYLOGFILE,替换firefox为其他应用,也可以解决非浏览器应用的TLS流量解密问题,如果其使用的TLS库支持的话(SSLKEYLOGFILE实际是TLS库生成的):

@echo offset SSLKEYLOGFILE=%USERPROFILE%Desktopkeylogfile.txtopen firefox

启用和配置SSLKEYLOGFILE后,就可以通过Wireshark抓包获取TLS的解密数据。

29678653bc20486745229a8b9e0a130e.png

最后

以上就是热心抽屉为你收集整理的wireshark怎么抓包_Wireshark解析TLS协议的全部内容,希望文章能够帮你解决wireshark怎么抓包_Wireshark解析TLS协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(229)

评论列表共有 0 条评论

立即
投稿
返回
顶部