如何监控 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 配置您的移动设备(ios 或 android) 代理
您必须在您的手机中安装 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上使用JS屏蔽截图? [关闭]