【发布时间】:2022-01-17 09:29:12
【问题描述】:
我在 iOS 设备的 Wifi 部分设置了手动代理。使用 safari 时没问题,但是当我使用 Whatsapp 和其他一些应用程序时,请求不会通过代理。 我使用 Wireshark 嗅探了数据包,它显示客户端使用 443 端口连接到 api,但它绕过了代理。
【问题讨论】:
标签: ios ssl wireshark packet-sniffers charles-proxy
我在 iOS 设备的 Wifi 部分设置了手动代理。使用 safari 时没问题,但是当我使用 Whatsapp 和其他一些应用程序时,请求不会通过代理。 我使用 Wireshark 嗅探了数据包,它显示客户端使用 443 端口连接到 api,但它绕过了代理。
【问题讨论】:
标签: ios ssl wireshark packet-sniffers charles-proxy
iOS 上的代理配置实际上是专门针对 HTTP 代理的。
这并不意味着所有网络流量都通过代理发送 - 只有 HTTP 流量,例如用于在 Safari 中加载网站的流量。 Whatsapp 的协议不是标准的 HTTP(它似乎使用a variant of XMPP),因此在他们的应用程序中,他们将使用不考虑 HTTP 代理配置的 API。
虽然大多数应用程序会使用 HTTP 进行 API 调用和类似操作,但并非所有应用程序都会使用,因此这也可能适用于其他情况。虽然理论上通常可以通过标准 HTTP 代理上的HTTP CONNECT tunnel 代理任意 TCP 协议(即,如果他们真的愿意,whatsapp 可以支持 HTTP 代理),但完全不可能通过标准 HTTP 代理代理 UDP 或 ICMP(因为CONNECT 始终是 TCP),因此对于某些流量来说这实际上是不可避免的。
【讨论】: