如何从特定的Android应用程序捕获网络流量.

use*_*958 13 networking android traffic strace

我读过一篇论文,提出了一种捕获来自特定Android应用程序的网络流量的方法.它说"我们使用tcpdump来收集来自虚拟机的所有网络流量.我们将strace实用程序移植到Android以记录执行的每个网络系统调用通过app.We使用应用程序的进程ID(pid)识别应用程序启动的所有线程.根据此线程信息,我们可以过滤掉不是来自应用程序的流量".但我仍然不知道操作原理.那么如何从特定的Android应用程序中捕获网络流量呢?感谢您的回答.

San*_*ort 7

您还可以使用SandroProxy.它还可以捕获不遵守android os代理设置的应用程序流.还可以选择为ssl flow创建pcap文件.一个选项也是创建可以使用wireshark解密的ssl.

想法是使用iptables帮助拦截http/https流作为普通代理或透明代理,将其存储为请求/响应或pcap文件并进一步转发到服务器.

如何确定谁在发出请求:当您打开套接字代理时,必须匹配来自/ proc/net/tcp或/ proc/net/tcp6的信息以获取进程uid.有了这个,你可以获得packagesNames.它可以更多一个.

您可以在此处检查如何创建自定义代理并从源代码构建自定义代理:

http://code.google.com/p/sandrop/source/browse/projects/SandroProxyPlugin/src/org/sandroproxy/plugin/gui/MainActivity.java

http://code.google.com/p/sandrop/source/browse/projects/SandroProxyPlugin/readme.txt

---由SandroProxy支持发送---