适用于 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 监视器的主要内容,如果未能解决你的问题,请参考以下文章