【问题标题】:Android IP Traffic Routing - Cellular IP on WiFi?Android IP 流量路由 - WiFi 上的蜂窝 IP?
【发布时间】:2014-10-27 03:48:02
【问题描述】:

在使用 Wireshark 从 Android 手机捕获一些流量时,我注意到一个奇怪的副作用。与 WiFi 建立新的网络连接后不久,WiFi 接口上似乎有一些数据包“泄漏”,这些数据包保留了蜂窝 IP 源地址。这通常不会持续很长时间,而且似乎这些连接会很快停止并使用新的 WiFi IP 地址重新启动。

是什么导致了这种效果?路由交换机是否将数据包重定向到新接口,但允许它们保留旧地址?在这种情况下,应用程序会看到什么样的错误?

【问题讨论】:

    标签: android linux routing ip wifi


    【解决方案1】:

    IP 数据包在一层创建,而它们的路由在较低层完成。当蜂窝“接口”关闭并且路由表更新时,所有不是发往本地子网的数据包都会被发送到“默认网关”。由于可以通过 WiFi 接口访问该网关,因此数据包就是从那里发送的。路由仅基于目标地址,而不是源地址。

    如果没有防火墙或路由器丢弃这些数据包,这些数据包仍会到达目的地(这在有状态路由器和受保护网络的今天很可能发生),但回复数据包将被定向到不再拥有的蜂窝提供商与电话的连接因此被断开或导致 ICMP“主机无法访问”消息返回服务器。

    手机上的应用程序不会看到任何错误,只是没有响应。但是,应用程序可以注意到系统上的其他行为;例如,操作系统可以自动为所有使用封闭接口的 IP 地址的连接生成重置 (RST) 数据包。

    TCP 连接在打开时不能更改网络地址或端口、目标 源。必须关闭(或重置)并启动新连接。

    【讨论】:

      猜你喜欢
      • 2020-09-14
      • 2011-02-05
      • 2017-04-01
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多