为什么网站显示我的 iPhone 对 HTTP 和 HTTPS(仅限蜂窝网络)使用不同的 IP 地址?

信息安全 tls 移动的 IOS 电话 iPhone
2021-09-06 03:16:16

在测试最近的 adtech 集成时,我注意到一些我无法解释的东西。iPhone 使用两个 IP 地址。似乎一种用于 HTTP,一种用于 HTTPS。更令人困惑的是,它仅在设备不在 wifi 上时才会发生。虽然,我确认发生这种情况的唯一运营商是 AT&T。FWIW,Verizon不会发生这种情况

谁能解释为什么会这样?

示例: http://ipof.in/json返回与https://ipof.in/json不同的 IP 地址它们似乎由同一家运营商 (AT&T) 拥有,并且都是公共的,但完全不同(107.77.212.XXX 与 166.216.157.XXX)。

还值得注意的是,来自 ipof.in 的响应包含一个时间戳。没有任何东西被缓存。我通过类似的服务www.ip4.com收到类似的结果。

2个回答

我只是在这里猜测一下。对于 IP 地址出现在 JSON 结果中的内容,您的电话数据载体可能具有优化或缓存代理。由于代理无法查看加密的 HTTPS 数据包,因此它无法代理内容,因此它可能直接使用您的公共(可路由)IP 地址进行路由。

如果是这种情况,您的手机有一个 IP 地址,但运营商的路由在 ipof.in 显示不同的源 IP 地址。

您的 HTTP 请求已被代理,因此ipof.in服务会看到不同的 IP 地址。

我相信这个答案很好地解释了它,但另一种可能性(无论蜂窝/WiFi 连接如何)是您的浏览器使用数据保护程序 (Chrome * ) 或Turbo 模式(Opera) 选项。两者都旨在压缩移动设备的数据。


* Chrome 功能似乎不再适用于 iOS。可以将其关闭以获得一致的结果。旧 Chrome 的视觉说明(设置 -> 高级 -> 带宽 -> 数据保护程序并将选项切换为关闭)从幻灯片 5 开始