明确捕获HTTPS流量?

Rog*_*mbe 24 ssl https man-in-the-middle

我有一个与远程Web服务对话的本地应用程序(我没有写,也无法更改).它使用HTTPS,我想看看流量中有什么.

有什么方法可以做到这一点吗?我更喜欢Windows系统,但我很乐意在Linux上设置代理,如果这样可以让事情变得更容易.

我在考虑什么:

  1. 通过黑客攻击我的主机文件(或设置备用DNS)来重定向网站.
  2. 使用自签名(但受信任)证书在该站点上安装HTTPS服务器.
  3. 显然,如果您使用私钥提供,WireShark可以查看HTTPS中的内容.我从来没有试过这个.
  4. 不知何故,将此流量代理到真实服务器(即它是一个全面的中间人"攻击").

这听起来合情合理吗?WireShark能否真正看到HTTPS流量中的内容?任何人都可以指向合适的代理(并配置相同的代理)吗?

Aak*_*shM 15

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

什么是小提琴手?

Fiddler是一个Web调试代理,它记录您的计算机和Internet之间的所有HTTP(S)流量.Fiddler允许您检查所有HTTP(S)流量,设置断点,并"输入"传入或传出数据.Fiddler包含一个功能强大的基于事件的脚本子系统,可以使用任何.NET语言进行扩展.

Fiddler是免费软件,可以从几乎任何应用程序调试流量,包括Internet Explorer,Mozilla Firefox,Opera等等.

  • 是的,它可以充当HTTPS请求的中间人代理-请注意,它提供了未签名的证书,因此,如果您的应用程序需要受信任的证书,则必须禁用此要求或信任该证书-Fiddler不建议:http://www.fiddler2.com/Fiddler/help/httpsdecryption.asp (2认同)
  • 您绝对可以将Fiddler自签名根证书复制到计算机范围的受信任根存储中. (2认同)

小智 10

Wireshark绝对可以将TLS/SSL加密流显示为纯文本.但是,您肯定需要服务器的私钥才能这样做.私钥必须作为首选项下的SSL选项添加到Wireshark.请注意,这仅在您可以从一开始就遵循SSL流时才有效.如果重用SSL连接,它将无法工作.

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

另一个关键约束是必须使用RSA密码.Wireshark无法解码使用DFH(Diffie-Hellman)的TLS/SSL流.

假设您可以满足上述约束,"Follow SSL Stream"右键单击命令可以很好地工作.


ras*_*ani 5

您需要为您的本地应用程序设置一个代理,如果它不支持代理设置,请放置一个透明代理并将所有 https 流量路由到它外面之前。像这样的东西可以是中间的“人”:http : //crypto.stanford.edu/ssl-mitm

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