情况

情况

情况

我有一个客户端虚拟机和服务器虚拟机使用 SSL 进行通信。客户端虚拟机使用 CLI 运行 wireshark 捕获

Wireshark GUI 在另一台机器上本地运行。

脚步

作为客户端虚拟机上的用户,我使用 python 脚本通过 SSL 发起了 RESTful HTTP 会话。

我已经使用 wireshark 捕获了对话,现在想要解密应用程序数据。

我将捕获的文件复制到本地机器,现在想要分析应用程序数据。

我只能通过 ssh 访问客户端虚拟机,并按照以下步骤操作 https://wiki.wireshark.org/SSL 让我相信我应该

1) 将客户端虚拟机上的 /home/USER./ssh/id_rsa 内容复制到本地计算机。2
) 指向 SSL 首选项 RSA 密钥文件列表中的文件。3) 在相同的 SSL 首选项中配置 IP 地址、端口

预期结果

然后我希望能够查看加密的数据,但我仍然看到

实际结果

在此处输入图片描述

我的理论是,我使用了不正确的 RSA_PRIVATE_KEY ,所以我想确认在 SSL 会话中使用了哪个密钥。

如果 RSA PRIVATE KEY 正确,我还应该检查什么?

答案1

您需要偏僻的终点,其中通过 SSL 进行 HTTP 会话连接到。

一个很好的例子:如何使用 Wireshark 解密 SSL 和 TLS 流量

1 - 启动 Wireshark 并打开网络捕获(加密的 SSL 应该类似于以下屏幕截图)。

2 – 从菜单中转到编辑 > 首选项。

3 – 在“首选项”窗口中展开“协议”。

4 - 向下滚动并选择 SSL。在 SSL 调试文件字段中输入调试文件的位置和文件名。

5 – 在 RSA 密钥列表字段中,单击编辑 > 新建,然后添加以下信息:

其中:

IP 地址:具有私钥的服务器 / 设备的 IP 地址

端口:对于 SSL/TLS 通常为 443

协议:通常为 HTTP

密钥文件:是私钥的位置和文件名。这是您尝试解密流量的 SSL 虚拟服务器的证书密钥对中使用的密钥。所有 SSL 密钥和证书都保存在 NetScaler 设备的 config/ssl 目录中。要使用密钥解密流量,应将其保存到本地磁盘,并且在解密流量时应指定此路径。

密码:输入您在导出服务器证书时分配的密码。

6 – 解密 SSL 流量(解密的 SSL 应该类似于以下屏幕截图)。

相关内容