在Android设备上运行的本地代理服务器

在Android设备上运行的本地代理服务器,android,http-proxy,Android,Http Proxy,我正在尝试编写一个http代理服务器,它将在设备本身上运行。事实上,我们需要找到一种方法来捕获设备生成的出站http流量 到目前为止,我所拥有的代码正在编译,它基于以下代码: 问题是,对实际服务器的http请求将被阻塞,并且永远不会返回 有没有更好的方法来编写这样的服务而不需要设备根目录?我一直在使用一款名为proxydroid的软件将我的设备用作代理服务器,这是我发现的唯一一款不需要根目录的服务。我不确定它是否对您有帮助,但它是一个开源项目,代码可以在这里找到: 我注意到应用程序会在一段时间

我正在尝试编写一个http代理服务器,它将在设备本身上运行。事实上,我们需要找到一种方法来捕获设备生成的出站http流量

到目前为止,我所拥有的代码正在编译,它基于以下代码:

问题是,对实际服务器的http请求将被阻塞,并且永远不会返回


有没有更好的方法来编写这样的服务而不需要设备根目录?

我一直在使用一款名为proxydroid的软件将我的设备用作代理服务器,这是我发现的唯一一款不需要根目录的服务。我不确定它是否对您有帮助,但它是一个开源项目,代码可以在这里找到:


我注意到应用程序会在一段时间后冻结,或者如果一次发送大量请求,但我还没有机会找出发生这种情况的原因。

您应该检查SandroProxy。 如果使用os代理设置,或根设备上使用iptables规则,则可以在非根设备上控制流量。 流量存储在本地sqlite数据库中。捕获的数据也可以通过chrome开发工具进行检查。要捕获应用程序中的流量,您应该检查插件的源代码。它有iptables重定向和正确设置的所有代码

查看google源代码HowToInterceptTrafficOnMyOwn上的wiki链接


顺便说一句:sandroproxy支持发送:)

忘记设置代理,使用Facebook Stetho库()查看来自emulator/device的所有http请求和响应


你好,肯尼弗!这很好,我将进行试验。性能限制不是什么大问题,因为我目前正在尝试进行PoC。嗨,Kennifer,我发现proxydroid不适合我,因为我只想捕获和拦截流量。使用代理droid,我需要有一个代理服务器来连接:-(您好,SandroProxy支持!感谢您的帮助。我会尝试一下,并在这里发布结果。您好,您能帮忙吗?我面临System.loadLibrary(“socketdest”)的问题;我正在使用AndroidStudio,但不知道如何构建jni库您可以使用此库,这样您就可以跳过构建。SandroProxy支持您摇滚!这正是我想要的!