【问题标题】:Tools like Fiddler for SSL encrypted TCP traffic? [closed]用于 SSL 加密 TCP 流量的 Fiddler 之类的工具? [关闭]
【发布时间】:2014-07-02 22:30:41
【问题描述】:

我已经使用wireshark 嗅探了来自应用程序的一些流量,但该应用程序使用SSL 进行加密。

有没有像 Fiddler 这样的工具可以使用 TCP 协议并解密流量?

更新

我尝试过使用 Tcp Catcher。

我无法让它从应用程序中捕获流量。在设置选项卡下,我检查了 tcp 代理并设置了服务器和端口,并检查了监控 ssl 通信。我还在 etc/hosts 中添加了一条规则,将服务器重定向到 localhost,并在 tcp 捕手中检查了透明代理。应用程序仍在运行,但 tcp catcher 看不到任何流量。我不确定我做错了什么。

【问题讨论】:

  • 你为什么不用提琴手?
  • 您可以使用wireshark,但您需要加密密钥,因此只有在您控制应用程序和服务器时才能使用,例如参见this
  • @Superdrac Fiddler 仅支持 http 和 https。我对tcp感兴趣。 ManyRootsofAllEvil 我没有私钥,所以这不起作用。
  • 这个呢? tcpcatcher.org
  • ssldump?如果你在 *nix 环境中

标签: ssl encryption tcp fiddler wireshark


【解决方案1】:

你在问:"How can I decrypt arbitrary TLS-protected TCP traffic without the private key." 答案当然是你不能那样做。这就是为什么有人一开始就使用 TLS。

正如其他评论者所建议的那样,您可以使用工具将客户端软件中的网络功能替换为发出不受保护的流量的其他版本,但这样做需要您能够替换此类功能,并推荐此类如果您分享有关您尝试使用的客户端类型的更多信息,该工具会更好地工作。

【讨论】:

  • 您需要什么信息?我需要一个像提琴手一样充当中间人的工具。 tcp catcher 似乎有这个选项,但我无法让它在 tcp 上工作(目前仅在 https 上)。
  • 什么是客户端应用程序?
  • Kik for Android。我正在使用 bluestacks 运行它。
  • 除非您有能力在“Kik for Android”(这可能需要 root 和本机代码)上使用 thunk 函数,否则执行此操作的唯一方法是 1> 希望客户端不会验证证书,或接受 Android 证书存储中的证书,2> 将客户端的请求重定向到您的 MITM(例如使用 iptables),然后 3> 找到允许 TCP/IP 连接的任意 MITM 的应用程序。
【解决方案2】:

您应该已经能够使用 Wireshark 执行此操作,如其 SSL page 中所述。

旧版本的 Wireshark 需要您拥有服务器的私钥,并且仅适用于非 DHE 密码套件。

较新的版本可以直接使用 pre-master secret(阅读“使用 (Pre)-Master-Secret”部分)。在某些情况下,这也是您可以从客户端获得的东西(前提是它具有调试选项)。以下是 Wireshark wiki 该部分的几个链接:

【讨论】:

  • 非常酷,Wireshark 现在能够使用 Pre-master-secret,但从客户端获取它可能非常重要,除非框架专门设计用于发布它。
  • @EricLaw,你是对的。据我了解,依赖 NSS 的应用程序应该能够通过使用正确的环境变量来做到这一点,JSSE 也会显示它when using the javax.net.debug=ssl system property,但通常这样做可能会很棘手,尤其是在移动设备上。跨度>
  • 太棒了,感谢您提供更多详细信息!
猜你喜欢
  • 2013-05-27
  • 1970-01-01
  • 2010-09-12
  • 2019-01-06
  • 2015-12-03
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多