使用 ***Service 的 Android http 隧道
Posted
技术标签:
【中文标题】使用 ***Service 的 Android http 隧道【英文标题】:Android http Tunnel using ***Service 【发布时间】:2019-12-18 14:04:50 【问题描述】:我正在尝试通过 HTTP 隧道重定向整个 android 网络流量,并且没有关于如何做到这一点的教程或 Github 存储库。
只需从用户那里获取主机、端口、用户名和密码,然后以编程方式将整个设备连接到该主机。
我已经用 squid 配置了一个 HTTP-Proxy 服务器,只需要一个客户端来连接它。
我不想要 Open-*** 解决方案或 StrongSwan,这个名为 TOOFAN Tunnel 的 app 正在做我所需要的,但它仅在某些国家/地区可用,而且它不是开源项目。
只需要有人给我指路或指引我正确的方向,我提前感谢。
我知道 Android 的 ***Servise,以及它如何重定向流量,但我只是不知道实现一个套接字以通过具有凭据的 HTTP 代理传输数据包。
我已经构建并测试了 20 多个存储库,但没有一个可以工作。他们之中有一些是: SSLSocks、TunProxy、***Proxy、SmartProxy、NetDroidProxy、Local***、xSocks-android、prox。
【问题讨论】:
对于测试,您可以在 Firefox Android 应用程序上使用network.proxy.ssl
(必须使用CONNECT
)配置(尽管不是系统范围的测试)。 SSLSocks 是stunnel
,而 xSocks-android 看起来像 SOCKS5,两者都不适用于 squid。其余的呢?您能否分享您的经验如何/为什么不适合您,尤其是 TunProxy?注意:我不是开发人员,但正在寻找类似的解决方案。
【参考方案1】:
您可以尝试使用我制作的这个库,它应该允许您使用代理或不使用代理进行任何操作。我知道这是一个很晚的回复,但我希望它会帮助某人......
https://github.com/DrBrad/Android-***-to-Socket
https://github.com/DrBrad/JTun2Socks
最简单的方法是为 UDP 数据包创建一个 DNS 代理,为 TCP 数据包创建一个 TCP 服务器。您必须操纵 TCP 数据包以指向新的 TCP 服务器。您可以通过创建一个简单的 nat 会话来拉取主机和端口。
【讨论】:
以上是关于使用 ***Service 的 Android http 隧道的主要内容,如果未能解决你的问题,请参考以下文章
Android系统服务分析与Native Service实例
Android系统服务分析与Native Service实例
Android系统服务分析与Native Service实例