iOS 的防弹 HTTP 监视器

Bulletproof HTTP Monitor for iOS

我正在使用 Charles Proxy 和 Wireshark 来监控来自我 iPhone 上使用的各种 iOS 应用程序的 http(s) 流量。这些应用程序要求我在 iOS Wifi 设置下设置 HTTP 代理(我们称这些为代理设置)。

我的公司需要查看我的 phone 呼叫的所有 URL。来自所有应用程序。所有 URL,而不是其中的一部分。

现在 Charles 和 Wireshark 都可以正常工作,我可以看到大量流量来自我的 phone。

但是,我不禁想知道我是否可能遗漏了一些 HTTP 调用。也许不使用 Cocoa Core Foundation 库作为其网络基础的调用。

例如,我可以用 TCP/IP 编写自己的 HTTP 库,这些库将绕过代理设置。

所以我的问题是:某些应用程序使用自定义 HTTP 库并回避我的代理设置的可能性有多大。或者更糟的是,他们使用原始 TCP/IP 与服务器通信。我知道这是可能的,但是任何 API 都是这样工作的吗?有人做吗?

假设您能够让您的设备保持连接状态,那么您可以使用 pcap 服务来监控所有流量。根据以下论文 (2014),每个 iOS 设备上的 pcap 服务都是 运行:

"Identifying back doors, attack points, and surveillance mechanisms in iOS devices"

您应该可以通过 usbmuxd 连接到它。我不确定是否有 pcap 服务的预滚动客户端。 libimobiledevice here 支持的服务列表。 Pcap 不在该列表中。

或者,您可以使用 wireshark 捕获 wifi 网络上的所有流量。

我找到了答案:在透明模式下使用mitmproxy。不使用代理。更难设置,因为它需要在路由器上工作,但无论代理设置如何,它都能可靠地捕获端口 80 和 443 上的每个数据包。