我希望能够监控我的安卓手机的网络流量。我正在考虑使用适用于安卓的tcpdump,但我不确定是否需要为手机交叉编译。
另外一个问题是,如果我想监控某个应用程序的流量数据,有没有相应的命令来实现?
我希望能够监控我的安卓手机的网络流量。我正在考虑使用适用于安卓的tcpdump,但我不确定是否需要为手机交叉编译。
另外一个问题是,如果我想监控某个应用程序的流量数据,有没有相应的命令来实现?
TCPDUMP 是我最喜欢的用于分析网络的工具之一,但如果你发现在android上交叉编译tcpdump困难,我建议你使用市场上的应用程序。
这些是我提到的应用程序:
Shark 应用程序仅适用于已root的设备,因此如果您要安装它,请确保您的设备已经被root。
祝你好运 ;)
如果您是在模拟器上进行操作,可以按照以下方式执行:
运行emulator -tcpdump emulator.cap -avd my_avd
将所有模拟器的流量写入到PC上的本地文件中,然后在wireshark中打开它。
这里有一篇类似的帖子可能会有所帮助HERE
.pcap
格式保存的文件,您可以使用任何流量分析器(如Wireshark)来分析其流量。Android SDK 中包含的 DDMS 工具包括一个用于监控网络流量的工具。虽然没有 tcpdump 等低级别工具提供的详细信息,但它仍然非常有用。
官方文档:http://developer.android.com/tools/debugging/ddms.html#network
试试这个应用程序:https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture
我们可以查看所有的网络通信,甚至包括 SSL 加密的通信。
没有root权限,你可以使用调试代理工具,例如Charlesproxy&Co。
adb push ~/Downloads/tcpdump /sdcard/
adb shell
su root
mv /sdcard/tcpdump /data/local/
cd /data/local/
chmod +x tcpdump
./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
Ctrl+C
停止。exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
com.android.myapp
。
ps | grep com.android.myapp
ps
看到应用程序,请尝试使用top
。tcpdump
相同的方式将其放入/data/local
。cd /data/local
./strace -p 1234 -f -e trace=network -o /sdcard/strace.txt
现在您可以查看strace.txt以获取IP地址,并过滤您的wireshark日志以查找这些IP地址。
adb root
而不是 adb shell
su root
。 - AtomicBooleanadb root
,则必须执行 adb push ~/Downloads/tcpdump /data/local
。 - AtomicBoolean