捕获HTTPS流量的清楚吗?(Capturing HTTPS traffic in the clea

2019-06-24 17:57发布

我有一个会谈到一个远程Web服务的本地应用程序(我没写,并且不能更改)。 它使用HTTPS,我想看看有什么在交通。

有没有什么办法可以做到这一点? 我更喜欢Windows系统,但我很高兴在Linux上建立一个代理,如果这使事情变得更容易。

我正在考虑:

  1. 通过黑客攻击我的hosts文件(或设置备用DNS)重定向的网站。
  2. 在该网站上安装一个HTTPS服务器,使用自签名(但可信的)证书。
  3. 显然,是Wireshark可以看到什么在HTTPS,如果你给它的私钥。 我从来没有尝试过这一点。
  4. 不知何故,这个代理通信到真实服务器(即它是一个成熟的人在这方面的中间人“攻击”)。

这听起来合理? Wireshark的真的可以看到什么在HTTPS流量? 任何人都可以点我在合适的代理(和配置相同)?

Answer 1:

是否提琴手你想要做什么?

什么是小提琴手?

菲德勒是一个Web调试代理其记录您的计算机和互联网之间的所有HTTP(S)流量。 菲德勒允许你检查所有的HTTP(S)流量,设置断点,以及“小提琴”用传入或传出的数据。 提琴手包括一个强大的基于事件的脚本子系统,并且可以使用任何.NET语言进行扩展。

小提琴手是免费软件,可以从几乎任何应用程序,包括Internet Explorer,Mozilla Firefox浏览器,歌剧,还有数千调试业务。



Answer 2:

Wireshark的绝对可以显示TLS / SSL加密流作为明文。 然而,你一定会需要的服务器的私钥这样做。 私钥必须添加到Wireshark的作为下一个喜好SSL选项。 请注意,这只是工作,如果你可以按照从一开始SSL流。 如果SSL连接,再利用它不会工作。

对于Internet Explorer,这(SSL会话重用)可以通过使用Internet选项对话框中清除SSL状态来避免。 其他环境可能需要重新启动浏览器甚至重新启动系统(避免SSL会话重用)。

另外一个关键的制约因素是,一个RSA密码必须使用。 Wireshark的不能解码使用DFH(的Diffie-Hellman)TLS / SSL流。

假设你能满足上面的约束,“跟随SSL流”右击命令的工作相当出色。



Answer 3:

你需要安装一个代理为你的本地应用程序,如果它不履行代理设置,把一个透明代理和路由所有HTTPS流量到它外出前。 像这样的东西可以在中间的“人”: http://crypto.stanford.edu/ssl-mitm

此外,这里有一个关于如何使用Wireshark归档此简要说明: http://predev.wikidot.com/decrypt-ssl-traffic



Answer 4:

你也应该考虑查尔斯 。 从这个答案的时候,产品说明:

查尔斯是一个HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看所有的HTTP和SSL / HTTPS流量的他们的机器和互联网之间。 这包括请求,响应和HTTP标头(它包含Cookie和缓存信息)。



Answer 5:

我会建议Wireshark的,它是按照不同的块交通的最佳工具。 虽然,我不知道你能看到SSL开启。 也许,如果你有一个证书供应呢?



Answer 6:

  1. 对于使用HTTPS代理来监控,这取决于握手的类型。 如果本地应用程序不通过CA的签名检查服务器的证书,你可以不假,服务器不会检查你的本地应用程序的证书(或者,如果你有一个设置在HTTPS代理),那么你可以设置一个HTTPS代理监控HTTPS流量。 否则,我认为这是不可能的,以监测HTTPS代理业务。

  2. 你可以尝试另一种方法是在你的客户端程序的程序添加仪器探测它从它的HTTPS库发送和接收消息。 它需要一些逆向工程的工作,而应该为你工作于所有情况。



文章来源: Capturing HTTPS traffic in the clear?