问题描述
我希望通过 Android VPN 服务复制 Ookla Speedtest 显示每个应用程序的数据使用情况。
他们似乎启动了 VPN 服务,但他们声明它不是通过他们的服务器路由的。
如何做到这一点,因为您无法使用空 IP 初始化 VPN 服务。是否有某种“本地主机”IP 可用于此目的?
解决方法
这可以通过简单的数据包操作来完成,您需要更改 UDP 和 TCP 数据包标头以返回到目的地的新通道,在这种情况下,该通道将存储 NAT 会话并将数据包返回到适当的地方。下面是一个可以帮助您入门的示例。
至于确定数据包源自哪个应用程序,我不知道他们是怎么做到的,也许您可以检查原始套接字,看看是否有办法确定是哪个应用程序打开了套接字。