Android:Android杀死tcpdump进程

时间:2016-07-21 03:07:00

标签: android tcpdump

首先抱歉我的英语不好。

我在Android Studio中开发了一款应用。它调用tcpdump(Process process = Runtime.getRuntime()。exec(" su -c tcpdump -s 0 -v -w /sdcard/capture.pcap");)。最初它可以正常工作。但是,tcpdump进程突然被杀死。有人会告诉我为什么吗?

谢谢

1 个答案:

答案 0 :(得分:0)

它可能会告诉您标准错误的原因:

final Process p = Runtime.getRuntime().exec(tcpdumpCommand);
final BufferedReader reader = new BufferedReader(
    new InputStreamReader(p.getErrorStream()));
(new Thread() {
  public void run() {
    while ((line = reader.readLine()) != null) {
      Log.d("tcpdump", "stderr: " + line);
    }
    Log.d("tcpdump", "end of stderr");
  }
}).start();

...然后查看logcat。或者使用getOutputStream()(对于标准输出)而不是getErrorStream()尝试相同的操作。

此外,如果tcpdump成功捕获流量然后突然停止,一个可能的原因是你已经填满了SD卡。