我正在尝试编写一个可以在设备本身上运行的http代理服务器。实际上,需要找到一种方法来捕获设备生成的出站http流量。在Android设备上运行的本地代理服务器
我迄今被确定编译的代码,它是基于这里找到代码:http://www.jtmelton.com/2007/11/27/a-simple-multi-threaded-java-http-proxy-server/
的问题是,HTTP请求到实际的服务器会阻止,再也不回来。
有没有更好的方式来编写这样的服务,而不需要root设备?
我正在尝试编写一个可以在设备本身上运行的http代理服务器。实际上,需要找到一种方法来捕获设备生成的出站http流量。在Android设备上运行的本地代理服务器
我迄今被确定编译的代码,它是基于这里找到代码:http://www.jtmelton.com/2007/11/27/a-simple-multi-threaded-java-http-proxy-server/
的问题是,HTTP请求到实际的服务器会阻止,再也不回来。
有没有更好的方式来编写这样的服务,而不需要root设备?
您应该检查SandroProxy。 如果使用os代理服务器设置,或者使用iptables规则在根目录设备上,则可以标记非根设备上的流量。 流量存储在本地sqlite数据库中。捕获的数据也可以通过chrome devtools进行检查。要在您的应用中捕获流量,您应该检查插件的源代码。它具有iptables重定向和适当设置的所有代码。
检查出谷歌的源代码维基链接HowToInterceptTrafficOnMyOwn
http://code.google.com/p/sandrop/wiki/HowToInterceptTrafficOnMyOwn
BTW:由sandroproxy支持:)
我一直在使用一款名为proxydroid的软件来将我的设备用作代理服务器,它是我找到的唯一不需要root的设备。我不知道这是否是给您的任何帮助,但它的一个开源项目,代码可以在这里找到:
https://github.com/madeye/proxydroid
我注意到,应用程序将一段时间后冻结,或如果一次发送大量请求,但我没有机会找出发生这种情况的原因。
忘了设置代理服务器,使用Facebook Stetho库(http://facebook.github.io/stetho/)审查所有发送http请求和来自仿真器/设备的响应
嗨SandroProxy的支持!谢谢你的帮助,我会给它一个去和发布结果在这里 – fran6
嗨,请你能协助吗?我面临一个System.loadLibrary(“socketdest”)的问题;我使用的是AndroidStudio,不知道如何构建jni库 – fran6
您可以使用这个,以便您可以跳过构建它。http://code.google.com/p /sandrop/downloads/detail?name=libsocketdest.so –