我有一个通过 https 连接到 Web 服务的客户端应用程序。我需要“嗅探”Web 服务和我的客户端之间的所有网络流量,以检查一切是否正常,即我必须调试连接。
我尝试过 Wireshark,但由于我没有服务器私钥,因此在 Wireshark 屏幕上显示的数据当然是加密的。
当我无法访问服务器本身以及私钥和其他相关内容时,有没有办法观察我的客户端和 Web 服务之间的 ssl 网络流量?
提前致谢。
我有一个通过 https 连接到 Web 服务的客户端应用程序。我需要“嗅探”Web 服务和我的客户端之间的所有网络流量,以检查一切是否正常,即我必须调试连接。
我尝试过 Wireshark,但由于我没有服务器私钥,因此在 Wireshark 屏幕上显示的数据当然是加密的。
当我无法访问服务器本身以及私钥和其他相关内容时,有没有办法观察我的客户端和 Web 服务之间的 ssl 网络流量?
提前致谢。
Burp Suite(甚至免费版)允许您设置 SSL“代理”,它将为您的应用程序提供不同的证书,并为您解密(并显示)流量。而且,如果您也想在 localhost 中使用服务器进行测试,它也允许您设置代理(这是我在 Windows 中的 Wireshark 和 Fiddler 无法做到的)。
如果您无权访问服务器的私钥,那么您就无法查看 SSL/TLS 保护的内容。(你至少会看到最初的握手。)
如果您对客户端拥有完全控制权,则可以编写一个假服务器,该服务器将拥有您控制的私钥和证书,并将客户端发送的所有内容中继到实际服务器。为此,您需要让客户端信任您自己的证书,因此您需要控制客户端。调整客户端上的相应文件以执行 DNS 欺骗可能更容易hosts
,以便将正确主机名的连接转到您的假服务器。