Android手机中的监控网络活动

问题描述 投票:62回答:11

我想监视我的Android手机的网络流量。我当时在考虑将tcpdump用于Android,但不确定是否需要为手机进行交叉编译。

另一个问题是,如果我想监视某个应用程序的流量数据,是否有执行此操作的命令?

android monitoring wireshark tcpdump
11个回答
27
投票

TCPDUMP是我最喜欢的网络分析工具之一,但是如果您发现难以交叉编译用于Android的tcpdump,建议您使用市场上的某些应用程序。

这些是我正在谈论的应用程序:

  • Shark:是用于Android手机的Wireshark的小版本)。该程序将创建一个* .pcap,您可以使用Wireshark在PC上读取文件。
  • Shark Reader:该程序使您可以直接在Android手机中读取* .pcap。

Shark应用程序可用于植根设备,因此,如果要安装它,请确保已植根设备。

祝你好运;)


1
投票

尝试此应用https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture

我们可以查看所有网络通信..甚至SSL加密的通信。


0
投票

常用方法是按如下所述调用“ cat / proc / net / netstat”:

Android network stats


16
投票

如果您正在仿真器中进行操作,则可以这样操作:

运行emulator -tcpdump emulator.cap -avd my_avd,将所有仿真器的流量写入PC上的本地文件,然后在Wireshark中打开它

[有类似的帖子可能会帮助HERE


7
投票

注意:tcpdump需要root特权,因此如果尚未完成手机的话,则必须root。这是tcpdump的ARM binary(适用于我的Samsung Captivate)。如果您喜欢构建自己的二进制文件,则说明为here(是的,您可能需要交叉编译)。

另外,请签出Shark For Root(基于tcpdump的Android数据包捕获工具)。

我不相信tcpdump可以通过特定的进程ID监视流量。克里斯·斯特拉顿(Chris Stratton)所指的线索method似乎比其价值更大。监视目标进程使用的特定IP和端口会更简单。如果该信息未知,请捕获过程活动期间的所有流量,然后使用Wireshark筛选生成的pcap。


3
投票

Android SDK中包含的DDMS工具包括用于监视网络流量的工具。它没有提供您从tcpdump和类似的低级工具获得的详细信息,但它仍然非常有用。

官方文档:http://developer.android.com/tools/debugging/ddms.html#network


3
投票

对于Android手机(无根):-您可以使用此应用程序tPacketCapture,当您启用捕获功能时,它将捕获设备的网络流量。请参见this url,以了解有关在不生根设备的情况下进行网络嗅探的更多详细信息。

一旦有了.pcap格式的文件,您就可以使用此文件并使用任何流量分析器(例如Wireshark)来分析流量。

[另请参阅此帖子以获取有关Capturing mobile phone traffic on wireshark的更多想法


2
投票

您需要启动手机并交叉编译tcpdump或使用其他人已经编译的版本。

您可能会发现使用仿真器更容易进行这些实验,在这种情况下,您可以从托管PC进行监视。如果您必须使用真实的设备,另一种选择是将其放置在与运行tcpdump的Linux盒上的辅助接口无关的wifi网络上。

我不知道您怎么通过特定的过程进行过滤。我在一些快速谷歌搜索中发现的一个建议是在主题进程上使用strace而不是系统上的tcpdump。


2
投票

没有root用户,您可以使用Charlesproxy&Co之类的调试代理。>


2
投票

前提条件:您的计算机上已经安装了adb和wirehark,并且您拥有已扎根的android设备。


1
投票

Packet Capture是在android上跟踪网络数据的最佳工具。不需要任何root访问权限,并且易于根据应用程序读取和保存呼叫。检出this]

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.