使用从连接到 android 设备热点接口的设备获取的数据包

Using packets gotten from devices connected to an android device's hotspot interface

我使用 android 的 VPNService class 创建了一个 VPN。现在,我希望这个 VPN 也能处理来自设备热点接口的数据包。所以在 VPNService Builder 中,我调用了 addRoute("0.0.0.0",0)。这确保我收到了所有传出数据包,包括热点。

我目前面临的问题是,当我收到从热点重定向的数据包时,这些数据包似乎仍然具有来自热点网络的 IP。 192.168.43 ....在 IP 数据包的源字段和目标字段以及有效负载中似乎也不包含 TCP 数据包。

我的问题是:
为什么我从VPN接口收到的热点包和VPNService创建的VPN接口的源IP不一样class?

来自热点的数据包是否有另一层被打包,因为我似乎无法在 IP headers 中获得真实请求的远程地址?

我的 VPNInterface 设置有误吗?

我的界面设置正确。

显然,我当时得到的是 DHCP 数据包。来自 Android 的本地 DHCP 服务器的 DHCPOFFER 数据包。

即使 android 的 VPN 接口设置为获取设备上的所有传出数据包,它似乎没有收到广播数据包,但出于某种原因,它会收到对广播数据包的回复。

我想知道为什么要这样设计。

了解这一点帮助我解决了问题。