【问题标题】:24/7 packet capture in Android using tcpdump在 Android 中使用 tcpdump 进行 24/7 数据包捕获
【发布时间】:2012-04-02 09:55:30
【问题描述】:

我想在一周内获取 Android 中的数据包级数据流量捕获 (.pcap)(如果可能,在多个文件中)。

我认为我可以通过 Shark 使用 tcpdump,但是我发现捕获会在一段时间后停止。我得到的最大数据包捕获大约是 40MB。我发现更改网络接口时 tcpdump 停止/崩溃。例如,当手机连接到 3G 时,当我从 Shark 运行 tcpdump 时,我可以看到 tcpdump 运行的过程,直到我打开 WiFi。

在 Galaxy S2 中,当通过 WiFi 连接时,我有以下接口(通过在 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,但它并没有完全解决我的问题。

我正在使用有根设备。

【问题讨论】:

    标签: android tcpdump


    【解决方案1】:

    如何尝试 tPacketCapture 应用程序(适用于非 root 设备)

    安卓操作系统 4.0

    免费

    https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture

    【讨论】:

    • 谢谢!但是,我应该更新我正在使用的所有手机,其中一些手机无法获得更新(来自运营商的原件)。很高兴知道我可以在 Android OS 4.0 中做到这一点。
    【解决方案2】:

    如果您有根设备,则使用 SimplePacketCapture 而不是 tPacketCapture。 tPacketCapture 创建一个可以破坏您的 voip 应用程序的 vpn。

    【讨论】:

      【解决方案3】:

      我尝试了如下方法,看看在交替网络接口后 tcpdump 发生了什么。
      1.打开wifi运行tcpdump-arm
      2.运行 ps|grep tcpdump-arm
      3.关闭wifi,打开手机界面
      4.运行 ps|grep tcpdump-arm

      我发现在手机上交替网络接口时,tcpdump-arm进程还在工作,但是没有抓包。

      我认为即使网络接口发生变化,您也需要 tcpdump 继续捕获。 您可以像 tutorial of google 开头所说的那样捕获连接更改广播。
      然后,您应该运行“killall”来终止 tcpdump 进程l
      最后重启 tcpdump 进程,如果不指定接口,它会监听新打开的接口。如果你想让 tcpdump 快速返回,可以在 T@987654323 中添加“-l”选项作为答案@ 暗示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        相关资源
        最近更新 更多