android - 使用 tcpdump 在 Android 中进行 24/7 数据包捕获

标签 android tcpdump

我想在一周内在 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/

相关文章:

android - BOOT_COMPLETED Intent 操作的广播无法正常工作

java - 启动一个 Activity 会停止 Android 服务

android - 当 AppBarLayout 滚动时,RecyclerView fling 会导致延迟

python - 按时间间隔写入scapy sniff捕获的数据包

android - 使用tcpdump和rawsocket嗅探数据包的区别?

c - libpcap Radiotap header 提取

linux - 是否可以从 netcat 创建 wireshark/tcpdump?

安卓:广播接收器

java - 如何在Android中限制字符串

linux - 如何使用 Wireshark 解密 TCP 流量?