wireshark解析TLS协议出现的问题

最近项目上需要抓取TLS数据包,并导出通信过程中的数字证书。遇到很诡异的现象:同一个网站,同样的用户名和口令,用wireshark抓取登录过程的数据包,别人的可以显示很多数据,包括certificate。

而我的则会显示大量Application Data。通过网络查询,了解到是因为没有为TLS协议设置key log,致使无法正确解析TLS协议的数据包。key log文件是Firefox、Chrome、curl等应用程序在SSLKEYLOGFILE设置环境变量时生成的文本文件。准确地说,它们的底层库(NSS、OpenSSL 或Boringssl)将所需的每个会话密钥写入文件。

解决办法:

1、设置环境变量SSLKEYLOGFILE

2、wireshark设置TLS的(Pre)-Master-Secretlog filename,内容与环境变量SSLKEYLOGFILE一致。

至此,wireshark可以解析出TLS的数据包了。原来显示为Application Data都显示成具体协议内容了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容