适用于 iOS 的防弹 HTTP 监视器

Posted

技术标签:

【中文标题】适用于 iOS 的防弹 HTTP 监视器【英文标题】:Bulletproof HTTP Monitor for iOS 【发布时间】:2015-06-05 07:53:38 【问题描述】:

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

我的企业需要查看从我的手机呼叫的所有 URL。从所有应用程序。所有 URL,而不是其中的一些。

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

但是,我不禁想知道我是否会丢失一些 HTTP 调用。也许调用不使用 Cocoa Core Foundation 库作为其网络的基础。

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

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

【问题讨论】:

任何API?你的意思是任何 ios 库/框架? 我几乎可以肯定,没有任何应用程序会这样做 - 如果要避开系统定义的代理,它将无法在某些需要代理连接的网络上运行。 【参考方案1】:

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

【讨论】:

【参考方案2】:

假设您能够将设备连接起来,那么您可以使用 pcap 服务来监控所有流量。根据以下论文 (2014),pcap 服务正在每个 iOS 设备上运行:

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

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

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

【讨论】:

以上是关于适用于 iOS 的防弹 HTTP 监视器的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Windows 的 Dbus 监视器

如何截取第二个屏幕监视器的屏幕截图?

TPL-Dataflow 是不是适用于高并发应用程序?

Atomos Shinobi 隐刃—全新5寸AtomHDR监视器登场

使用 Python Mock 库监视内部方法调用

如何设置Visual Studio远程调试