【发布时间】:2014-07-01 06:40:01
【问题描述】:
有没有办法分析安卓设备中的网络流量并将其记录到 SD 卡中?例如,此应用程序将作为代理在后台运行,使所有网络都通过它,并基于一些过滤器(例如:facebook 数据、whatsapp 数据)检查正在发送和接收的数据并将其记录在文本文件中。
【问题讨论】:
-
除非你根设备,几乎可以肯定没有。如果操作系统允许应用程序这样做,那将是一个严重的安全问题。
有没有办法分析安卓设备中的网络流量并将其记录到 SD 卡中?例如,此应用程序将作为代理在后台运行,使所有网络都通过它,并基于一些过滤器(例如:facebook 数据、whatsapp 数据)检查正在发送和接收的数据并将其记录在文本文件中。
【问题讨论】:
我不知道将数据保存到 SD 卡的方法,但您可以通过 configuring Fiddler on a PC that's in the same network 捕获来自 Android 设备的所有流量。
在 Fiddler 中,在您的 PC 上,转到 Tools > Fiddler Options > Connections
查看Allow remote computers to connect
检查 Fiddler 服务器的 IP
在 Android 设备的 WiFi 设置中,配置代理。分别使用您的 Fiddler 服务器的 IP 和端口作为 Proxy hostname 和 Proxy port。
这应该会使来自您 Android 设备的流量出现在 Fiddler 中。
查看此答案开头的链接以获取更详细的说明和屏幕截图。
【讨论】:
我认为您正在研究 TCPDump。但这不能以普通用户身份运行,您需要成为 root 才能执行它。
还要注意,tcpdump 二进制文件甚至没有与库存图像一起发布(我的 Cyanogenmod 甚至不包含这个)。
【讨论】:
Google Play 上的某些应用程序允许您在不生根设备的情况下捕获流量。其中之一是Grey Shirts' Packet Capture。
它们通过在设备上作为 VPN 服务运行来工作。强制所有流量通过它,同时记录它。然后,您可以在应用程序的 UI 上查看日志(可能可以从 SD 卡中提取会话日志以在 Wireshark 上打开它。还没有尝试过)。
该应用程序还允许您安装自己的根 CA 证书,以便查看解密的 SSL 加密数据包(记住在完成流量捕获后删除证书)。只要应用不使用customized trusted CAs,此方法就可以工作。
请注意,您将无法通过作为 VPN 服务运行的应用捕获所有流量。例如,应用程序进行的名称解析不会通过 VPN。
【讨论】: