我有一个通过https连接到Web服务的客户端应用程序。我需要“嗅探” Web服务和客户端之间的所有网络流量,以检查一切是否正常,即,我必须调试连接。
我尝试过Wireshark,但是由于我没有服务器私钥,因此,wireshark屏幕上显示的数据当然是加密的。
当我无权访问服务器本身并因此无法访问私钥和其他相关内容时,是否可以观察客户端和Web服务之间的ssl网络流量?
提前致谢。
最佳答案
参见:Debugging SSL communications。
从理论上讲,我知道这是可以做到的-您可以设置一个与目标Web服务进行通信的代理,将您的应用程序指向通过此代理进行连接。它是一个已知的限制-Https假定您信任计算机上安装的所有代理和证书。它是Man-in-the-middle attack的形式。
查看Fiddler是否有用。
Man-in-the-middle attacks
在一个
中间人攻击,攻击者
拦截用户流量以进行捕获
凭证和其他相关
信息。然后,攻击者使用
该信息可访问实际
目标网络。在此期间
过程中,攻击者通常为
作为代理/网关呈现
向用户提供虚假的SSL VPN站点;这个
代理/网关通过任何
用户进入的身份验证
真正的目标网站。
关于web-services - 如何调试SSL连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6344246/