简体   繁体   English

启动 Android VPN 服务,在任何地方都没有 root

[英]Starting Android VPN service that is not rooted anywhere

I am looking to replicate the Ookla Speedtest displaying of data usage per application via the Android VPN service.我希望通过 Android VPN 服务复制 Ookla Speedtest 显示每个应用程序的数据使用情况。

It appears they start a VPN service however they state that it is not routed through their servers.看来他们启动了 VPN 服务,但是他们 state 没有通过他们的服务器路由。

How can this be done as you cannot initialise the VPN service with a null IP.由于您无法使用 null IP 初始化 VPN 服务,如何做到这一点。 Is there some sort of 'localhost' IP that can be used for this?是否有某种'localhost' IP 可以用于此?

连接请求

在此处输入图像描述

This can be done by simple packet manipulation, you will want to change the UDP and TCP packet headers to return to a new channel for the destination, in which case the channel will store a NAT session and return the packet to the appropriate place.这可以通过简单的数据包操作来完成,您需要更改 UDP 和 TCP 数据包标头以返回到目标的新通道,在这种情况下,通道将存储 NAT Z21D6F40CFB511982E4424E0E25 并将数据包返回到适当的位置。 Here's an example of something to get you started.这是一个可以帮助您入门的示例。

As for determining the application the packet originated from I have no idea how they may have done that, maybe you can check the originating socket and see if there's a way to determine what app opened the socket to begin with.至于确定数据包来自的应用程序,我不知道他们是如何做到的,也许您可以检查原始套接字,看看是否有办法确定是哪个应用程序打开了套接字。

https://github.com/DrBrad/Android-VPN-to-Socket https://github.com/DrBrad/Android-VPN-to-Socket

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM