我想在一周内在 Android 中获取数据包级数据流量捕获 (.pcap)(如果可能,在多个文件中)。
我以为我可以通过 Shark 使用 tcpdump,但我发现捕获会在一段时间后停止。我得到的最大数据包捕获约为 40MB。我发现 tcpdump 在更改网络接口(interface)时停止/崩溃。例如,当手机连接到 3G 时,当我从 Shark 运行 tcpdump 时,我可以看到 tcpdump 运行的过程,直到我打开 WiFi。
在 Galaxy S2 中,当通过 WiFi 连接时,我有以下接口(interface)(通过在 adb shell 中使用 netcfg 获得):lo、svnet0、usb0、sit0、eth0。当我通过 3G 连接时,我得到的是 pdp0 而不是 eth0。
有什么方法可以 24/7 全天候运行 tcpdump?或者有什么方法可以检查它何时运行以及是否停止让它从 Java 应用程序再次运行?检查 tcpdump 的进程或类似的东西?还是监控网络状态,每次网络变化就运行tcpdump?
我查看了:ReadLine on TCPDump-Buffer sometimes blocks until kill tcpdump ,但它并没有完全解决我的问题。
我正在使用 root 设备。
最佳答案
如何尝试 tPacketCapture 应用程序(适用于非根设备)
安卓操作系统 4.0
免费
https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture
关于android - 使用 tcpdump 在 Android 中进行 24/7 数据包捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974280/