如何获取runtime.getruntime.exec的全部信息(" netstat")

时间:2016-03-01 11:46:51

标签: java android netstat

我无法从netstat获取完整信息,而非root设备。

如果我使用

Process process = Runtime.getRuntime().exec("netstat -n");

与" -n"或其他不起作用。 我如何从netstat读取流

process.getOutputStream().close();
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readline()) != null) {
// Parse line for required info
}
reader.close();

如何在没有root的情况下使用netstat(或其他监控网络活动的内容)获取pid或进程名称

我在android 6.0中测试它并且只得到:

  

Proto Recv-Q Send-Q本地地址外部地址状态   click to see

1 个答案:

答案 0 :(得分:1)

您必须从过程对象获取输入流,然后逐行读取过程输出,直到收到空行。

  

Proto Recv-Q Send-Q本地地址外部地址状态

它只是netstat输出的第一行。

例如:https://stackoverflow.com/a/13506836/4449456