应用内透明网关

时间:2018-05-02 11:06:36

标签: android proxy

希望你能指出我正确的方向。

我正在创建一个Android库(不使用VPNService),当集成到应用程序时,会将该应用程序的所有tcp / udp流量路由到我的代理服务器。该库也应该适用于非root设备,这意味着不能使用iptables。

由于用例适用于应用内透明网关,因此该库不需要重新路由应用程序以外的应用程序流量。

我已经研究过,我发现的常用解决方案是使用VPNService,这也不是一个选项。还找到mitmproxy.org,但我不知道从哪里开始。

总之,如果不修改应用程序,我该如何将流量重新路由到我的代理服务器,仍然...... 1.不使用VPN 2.不使用iptables而不需要root访问

非常感谢!

1 个答案:

答案 0 :(得分:0)

  

总之,如果不修改应用程序,我该如何将流量重新路由到我的代理服务器

这是不可能的,对不起。应用程序使用各种方式访问​​网络,包括:

  • HTTP客户端API(例如HttpUrlConnection
  • 直接在Java / Kotlin中使用Socket
  • 使用NDK直接在C / C ++中使用POSIX套接字
  • WebView

您无法透明地拦截大部分内容,更不用说重新路由它来通过您的代理。

可以提供API,以允许开发人员在某些情况下配置他们的应用以使用代理。例如,NetCipher这样做是为了帮助开发人员与Orbot代理集成。