我有一个会谈到一个远程Web服务的本地应用程序(我没写,并且不能更改)。 它使用HTTPS,我想看看有什么在交通。
有没有什么办法可以做到这一点? 我更喜欢Windows系统,但我很高兴在Linux上建立一个代理,如果这使事情变得更容易。
我正在考虑:
- 通过黑客攻击我的hosts文件(或设置备用DNS)重定向的网站。
- 在该网站上安装一个HTTPS服务器,使用自签名(但可信的)证书。
- 显然,是Wireshark可以看到什么在HTTPS,如果你给它的私钥。 我从来没有尝试过这一点。
- 不知何故,这个代理通信到真实服务器(即它是一个成熟的人在这方面的中间人“攻击”)。
这听起来合理? Wireshark的真的可以看到什么在HTTPS流量? 任何人都可以点我在合适的代理(和配置相同)?
是否提琴手你想要做什么?
什么是小提琴手?
菲德勒是一个Web调试代理其记录您的计算机和互联网之间的所有HTTP(S)流量。 菲德勒允许你检查所有的HTTP(S)流量,设置断点,以及“小提琴”用传入或传出的数据。 提琴手包括一个强大的基于事件的脚本子系统,并且可以使用任何.NET语言进行扩展。
小提琴手是免费软件,可以从几乎任何应用程序,包括Internet Explorer,Mozilla Firefox浏览器,歌剧,还有数千调试业务。
Wireshark的绝对可以显示TLS / SSL加密流作为明文。 然而,你一定会需要的服务器的私钥这样做。 私钥必须添加到Wireshark的作为下一个喜好SSL选项。 请注意,这只是工作,如果你可以按照从一开始SSL流。 如果SSL连接,再利用它不会工作。
对于Internet Explorer,这(SSL会话重用)可以通过使用Internet选项对话框中清除SSL状态来避免。 其他环境可能需要重新启动浏览器甚至重新启动系统(避免SSL会话重用)。
另外一个关键的制约因素是,一个RSA密码必须使用。 Wireshark的不能解码使用DFH(的Diffie-Hellman)TLS / SSL流。
假设你能满足上面的约束,“跟随SSL流”右击命令的工作相当出色。
你需要安装一个代理为你的本地应用程序,如果它不履行代理设置,把一个透明代理和路由所有HTTPS流量到它外出前。 像这样的东西可以在中间的“人”: http://crypto.stanford.edu/ssl-mitm
此外,这里有一个关于如何使用Wireshark归档此简要说明: http://predev.wikidot.com/decrypt-ssl-traffic
你也应该考虑查尔斯 。 从这个答案的时候,产品说明:
查尔斯是一个HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看所有的HTTP和SSL / HTTPS流量的他们的机器和互联网之间。 这包括请求,响应和HTTP标头(它包含Cookie和缓存信息)。
我会建议Wireshark的,它是按照不同的块交通的最佳工具。 虽然,我不知道你能看到SSL开启。 也许,如果你有一个证书供应呢?