如何用Wireshark查看HTTPS消息里的加密内容

如何用Wireshark查看HTTPS消息里的加密内容,第1张

1. 配置Wireshark

选中Wireshark主菜单Edit->Preferences,将打开一个配置窗口;窗口左侧是一棵树(目录),你打开其中的Protocols,将列出所有Wireshark支持的协议;在其中找到SSL并选中,右边窗口里将列出几个参数,其中“RSA keys list”即用于配置服务器私钥。该配置的格式为:

<ip>,<port>,<protocol>,<key_file_name>

各字段的含义为:

<ip> ---- 服务器IP地址(对于HTTPS即为WEB服务器)。

<port> ---- SSL的端口(HTTPS的端口,如443,8443)。

<protocol>---- 表示SSL里加密的是什么协议,对于HTTPS,这项应该填HTTP。

<key_file_name>---- 服务器密钥文件文件里的私钥必须是明文(没有密码保护的格式)。

例如: 192.168.1.1,8443,http,C:/myserverkey/serverkey.pem

若你想设置多组这样的配置,可以用分号隔开,如:

192.168.1.1,8443,http,C:/myserverkey/clearkey.pem10.10.1.2,443,http,C:/myserverkey/clearkey2.pem

2. 导出服务器密钥(私钥)的明文格式(即前面提到的<key_file_name>)

大家当初在配置HTTPS服务器,服务器私钥时,一般都会输入一个保护私钥的密码。那如何导出明文形式的服务器私钥呢,需要视情况而定:

(1)若你是像《如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)》里所述的那样,用类似于如下命令生成服务器私钥的:

openssl req -newkey rsa:1024 -keyout serverkey.pem -keyform PEM -out serverreq.pem /

-outform PEM -subj "/O=ABCom/OU=servers/CN=servername"M

而且你的服务器私钥文件serverkey.pem还在,则可以这样导出服务器私钥明文文件:

openssl rsa -in serverkey.pem >clearkey.pem

执行命令式需要输入私钥的保护密码就可以得到私钥明文文件clearkey.pem了。

(2)若你已把serverkey.pem丢了,但还有pkcs12格式的服务器证书库文件,该文件当初用类似于以下命令生成的:

openssl pkcs12 -export -in servercert.pem -inkey serverkey.pem /

-out tomcat.p12 -name tomcat -CAfile "$HOME/testca/cacert.pem" /

-caname root -chain

则,你可以用下面命令把服务器私钥从tomcat.p12(pkcs12格式)文件里导出来:

openssl pkcs12 -in tomcat.p12 -nocerts -nodes -out clearkey.pem

执行命令式需要输入pkcs12的保护密码。

然后编辑一下生成的clearkey.pem文件,把“-----BEGIN RSA PRIVATE KEY-----”之前的内容删掉就可以了。

(3)若你的服务器私钥是用java的keytool命令生成的keystore文件,则要弄出来比较麻烦,建议服务器keystore最好用《如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)》里的openssl生成服务器公钥私钥和证书的方法,生成pkcs12格式的keystore。

右键单击已经加密的文件选择【属性】接着选择【高级】然后点击【详细信息】。

选中刚才的密钥,然后选择点击【备份密钥】。

桌面会弹出一个“欢迎使用证书导出向导”的窗口,点击“下一步”,关于导出格式的设定,仍然点击“下一步”。

接下来会出现密码设置提示需要设置密码保护密钥,设置一个容易记住的密码, 需要输入两次,点击“下一步”。

把密钥保存到一个容易找到,不易丢失的文件位置 点击下一步,最后的时候,会提示“已成功的完成了证书设置向导”,此时千万不要关闭对话框,一定要单击【完成】才能开始导出证书,证书导出之后后出现一个比较小的对话框提示“导出成功”点击确定就可以结束证书导出了。

导出证书之后检查一下密钥是否已经保存到相应的位置即可。

密钥是创建EC2时需要下载的。因为密钥是连接EC2实例的唯一途径。如果丢失了密钥,将无法登录服务器的。如果丢失由EBS支持的实例的私有密钥,可以重新获取实例的访问权限。必须停止实例,断开根卷并将其作为数据卷连接到另一个实例,然后修改文件,将卷移回原始实例,并重启实例。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/490472.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-13
下一篇2023-06-13

发表评论

登录后才能评论

评论列表(0条)

    保存