如何读取 Android 手机的所有 SSL 流量?

spe*_*904 3 ssl android location privacy packet-capture

我希望能够读取我的 Android 手机的流量以查看它正在发送哪些数据。它运行的是Android 9。

我已经能够使用 Charles,但它只能读取没有 SSL 的流量。看来,如果我正在测试自己的应用程序,我可以设置一些内容,以便它信任证书,但我正在尝试获取所有流量(所有应用程序等)。我也使用过 Packet Capture 和 NetCapture 应用程序,但它们也有相同的限制。

这段视频是那个人能够做到的,但它似乎是旧版本的 Android,其中所有应用程序都会信任用户安装的证书。

有人有什么想法吗?

Rob*_*ert 7

在 Android 9 上,安装自定义根证书通常不会影响应用程序,因此应用程序执行的 HTTPS 连接不信任您已安装的 Charles 证书。要改变这一点,你必须操纵每个应用程序或修改 Android 系统本身。此外,一些应用程序(例如 Google 服务和 PlayStore)执行证书/密钥锁定,这完全可以防止破坏 HTTPS 流量,除非系统经过大量修改:

您必须root您的设备并安装XPosed +多个模块才能允许SSL/TLS拦截,例如TrustMeAlready(或旧项目Just Trust MeSSL Unpinning)。

另一种可能性是将Frida与一些反 TLS 检查/固定脚本结合使用。

此答案中描述了更多可能性。

警告:这样做完全消除了设备上每个 SSL/TLS/HTTPS 连接的安全性因此,不仅您而且每个人都可以拦截以这种方式修改的设备所建立的连接!