其实在最开始抓包的时候就发现了一个问题,就是在ChangeCipherSpec消息之后,没有加密扩展、证书,甚至Finished消息都没有。在握手过程中,Finished消息是一定存在的,所以说明用Wireshark抓的包存在问题,之前提到过,ChangeCipherSpec之后的消息都是进行加密了的,所以可能是因为Wireshark没有对后续的消息进行解密,所以只是显示了ApplicationData,即加密传输的数据。
那么要想利用wireshark对其进行分析,就要想办法得到密钥,对加密的消息进行解密,这里的解决方法参照https://jingyan.baidu.com/article/20b68a88b2af7f796cec62b3.html。
简要步骤:
1.创建一个log文件,因为Firefox和Chrome浏览器都支持用log文件的方式记录下用来加密TLS数据包对称会话秘钥的,所以创建ssl.log来保存会话密钥。
2.配置环境变量。右键点击我的电脑->属性->高级系统设置->高级->环境变量->系统变量
然后新建一个系统环境变量,变量名是SSLKEYLOGFILE,变量值就是你的log文件的位置。
3.在Wireshark中进行配置。编辑->首选项->协议Protocols->SSL,在(pre)-Master-Secret log filename一栏中添加刚才的log文件位置。
然后再进行抓包,抓包结果如图: