【发布时间】:2018-01-29 20:09:21
【问题描述】:
我正在尝试设置 Fiddler 代理以捕获来自 Xamarin 应用程序的流量。我已完成以下步骤:
- 在 Windows 机器上安装了 Fiddler v5.0.20173.50948
- 设置允许远程计算机连接和端口8888
- 设置 Capture HTTPS CONNECTs、解密 HTTPS 流量和 ...来自所有进程,将根证书安装到 Trusted Root证书颁发机构文件夹。
- 在 Android 设备上,我使用相同的 Wi-Fi 网络并使用 PC 的 ip 和端口 8888 配置手动 Wi-Fi 代理
- 我能够打开 ipv4.fiddler:8888,下载证书并将其安装在 Android 设备上,我可以在 Trusted credentials>User 中看到它。我比较了 PC 证书和 Android 证书上的指纹,它们是相同的。
Fiddler 能够捕获来自 一些 网站的流量,但对于我关心的 URL,我只看到隧道 CONNECT,但没有解密流量。
PS 当这些步骤不起作用时,我也尝试了:
- 在 Fiddler 中重置所有证书并在 PC 和 Android 设备上重新安装它们
- 在 Android 中为 VPN 和应用程序 以及 Wi-Fi 安装证书
这没有帮助。
非常感谢任何帮助。
【问题讨论】:
-
我也有同样的问题,有解决办法吗?
-
我保证这是由于所谓的“证书固定”。基本上,您尝试从中捕获网络通信的应用程序正试图通过“固定”他们的 SSL 证书来防止这种情况发生,因此您或某人是否尝试注入替代证书(如 Fiddler 的)并不重要。有一些方法可以解决这个问题,具体取决于应用程序,但可能需要一些逆向工程。