如何监控 iOS/Android 设备中的 https/ssl 流量 [关闭]

Posted

技术标签:

【中文标题】如何监控 iOS/Android 设备中的 https/ssl 流量 [关闭]【英文标题】:How to monitor https/ssl traffic in a iOS/Android device [closed] 【发布时间】:2017-02-14 20:22:35 【问题描述】:

我想查看以解密形式将内容发送到服务器的页面请求,这是为了进行一些调试。

如果需要调试越狱/生根也没问题。

【问题讨论】:

【参考方案1】:

我推荐你用Charles。我自己也偶尔用过,觉得好用。

您可以从here 安装 Charles

您必须使用 Charles 配置您的移动设备(iosandroid) 代理

您必须在您的手机中安装 Charles 代理的 SSL 根证书 设备,以便可以监控 SSL 流量

进行以下选择以查找您的 Charles IP 以及您必须绑定您的设备的端口号和您必须在设备中安装使用的 SSL CA 的 URL

帮助 -> SSL 代理 -> 在移动设备或远程浏览器上安装 Charless 根证书

记下 IP 地址和端口号,并记下 URL 用于安装 CA

在 iOS 设备中绑定 HTTP 代理 - 转到设置 -> Wifi -> 连接您的系统也共享的 wifi 热点 - 连接后向下滚动到当前 wifi 并在 HTTP 代理 中选择 Manual - 在 Server and Port 里面输入 IP 和 Port

现在你已经连接到 Charles Proxy 并且你可以监控所有的 http 流量了

为了监控 https 流量。

在 safari 中输入注明的 URL,它会显示安装提示,输入 yes 并安装它。

现在 Charles 可以监控源自设备的 SSL 流量。但 Charles 不会显示所有站点的未加密 SSL 流量。您必须添加需要监控 SSL 流量的站点。

这里是怎么做的

在 Charles 中进行以下选择。

代理 -> SSL代理设置

单击添加并输入您必须监控其流量的https站点的主机端口

瞧!现在可以在Charles中查看https站点的加密流量了。

访问该站点,您应该能够在 Charles 的侧栏上看到单击该 URL,您应该能够在右侧看到未加密的流量!

更新

如果您使用的是 iOS 10.3 或更高版本,请打开 Settings.app 并导航到 General > About > Certificate Trust Settings,找到 Charles Proxy 证书,然后将其打开为它启用完全信任以进行 SSL 代理。

【讨论】:

我已经为所有站点添加了 SSL 代理,但我无法访问 https 站点,但对于 http 它工作正常 我已经在这里问了***.com/q/48873791/8053184 奇怪!它应该工作!您是否在 iOS 设备上安装了 SSL 证书? 是的,我通过转到提到的路径“chls.pro/ssl”安装并成功安装 “CHARLES Proxy CA”是否可信?转到设置 -> 常规 -> 个人资料,然后查看其是否受信任【参考方案2】:

您必须在 Mac/PC 中安装代理。然后在您的 iOS/Android 设备上使用此代理。然后,您可以捕获该代理传递的所有流量。我使用的是 WireShark (https://www.wireshark.org/)。

【讨论】:

谢谢,我试试这个。 我不认为使用 WireShark 我们可以看到未加密形式的流量【参考方案3】:

我会推荐查尔斯。 http://www.charlesproxy.com

它比 Wireshark 更容易使用,并且有一个用于 iOS 设备和模拟器的简单指南。

【讨论】:

以上是关于如何监控 iOS/Android 设备中的 https/ssl 流量 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

检测是不是使用移动设备(iOS/Android 手机/平板电脑)中的浏览器

如何在 iOS/Android 上获取当前设备语言?

如何在移动iOS / Android上使用JS屏蔽截图? [关闭]

在货物监控设备的研发过程中,如何对设备进行电量采集?

在货物监控设备研发的过程中,如何对MT MC MLT进行判定?

在货物监控设备研发中,如何对单片机进行实时时钟配置?