使用wireshark解密tls和使用firefox浏览器禁用Diffie-Hellman密钥交换算法
使用wireshark解密tls目前有三种方法:
1. 使用服务器私钥证书解密
2. 使用SSLKEYLOGFILE解码
3. 禁用浏览器的Diffie-Hellman算法(火狐为例)(部分网站有限制)
第一种方法适合有服务器权限的,方法就是导出服务器的私钥证书导入wireshark这里,缺点是无法解密DHE算法
第二种很久前就配置好了,一直没总结,这次再做一遍,顺便截个图做个复习记录
key文件很大了
1. 配置SSLKEYLOGFILE环境变量
运行输入“control system”找到“高级系统设置”-“环境变量”,添加下面变量,值为自己盘中文件名
2. 配置wireshark首选项
在wireshark-编辑-首选项-Protocols-TLS的这里添加上面的文件名即可
第三种方法的目的是但采用第一种方法时遇到服务端采用Diffie-Hellman算法的情况,所以强制使用其他算法
1. firefox浏览器设置禁用Diffie-Hellman算法的方法
2. 下面这是我的火狐浏览器还有两个ECDHE算法没禁用的截图,在Client Hello包能看到客户端支持的当前所有算法
这里服务器端Server Hello包看到优先使用了ECDHE算法
3. 禁用全部DHE算法后,已经没有了
这时的服务器端使用RSA的算法套件
解密后的请求包
解密后的返回包
追踪HTTP流看下,更直观
又碰到种情况,禁用DHE算法后,有些网站报错(错误代码:NS_ERROR_NET_INADEQUATE_SECURITY),比如下列
本来好好的网站
变成这个样子
设置http2的值即可
参考:
如何通过Wireshark查看HTTPS、HTTP/2网络包(解码TLS、SSL)
Linux服务器可以进百度,但是进阿里云或者别的一些网站提示‘错误代码:NS_ERROR_NET_INADEQUATE_SECURITY’的问题 - 消逝的风i - 博客园
MU5735 R.I.P