这是我第一次提问,请谅解我的任何错误。
我想要实现像安卓应用商店中可用的这些应用程序那样的traceroute功能。
我知道在Windows命令提示符中键入traceroute google.com
将显示所有使用的中间IP。
现在我尝试过的方法如下。
我尝试使用traceroute
命令,但Android不支持traceroute
,只有已root的设备支持它。
Process process =Runtime.getRuntime().exec("traceroute yahoo.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((i = reader.read(buffer)) > 0)
output.append(buffer, 0, i);
reader.close();
Log.d("*************", ""+output);
我曾试图使用ping命令实现此目标,但没有成功。使用ping命令只会显示google.com的IP地址,而不能像上述应用程序那样显示更多信息。
Process process = Runtime.getRuntime().exec("/system/bin/ping -t 1 -c 1 google.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((i = reader.read(buffer)) > 0)
output.append(buffer, 0, i);
reader.close();
Log.d("*************", ""+output);
请指导我如何实现这一点。链接或教程将非常有用。
提前感谢您。