如何通过您的应用程序运行traceroute命令?

时间:2012-10-31 09:34:06

标签: android shell android-ndk command traceroute

我想通过我的应用程序运行traceroute命令 我该怎么办?

Runtime.getRuntime().exec("traceroute google.com")

不工作。

java.io.IOException:运行exec()时出错。命令:[traceroute,-4,google.com]工作目录:null环境:null 11-02 12:51:38.399:E / trace(1604):at java.lang.ProcessManager.exec(ProcessManager.java:224)

还有其他方法,比如使用NDK或其他方式 请帮帮我。

2 个答案:

答案 0 :(得分:2)

您无法在Android中使用use traceroute命令。

如果要在安装了busybox的root设备中使用它,请使用busybox安装的路径来运行该命令。 如果要在root设备中使用它,那么这个库可能很有用。 http://code.google.com/p/roottools/

答案 1 :(得分:2)

您可以做的另一件事是使用简单的ping命令来创建自己的traceroute。 Traceroute实际上是发送带有修改的TTL字段的ping。当ip数据包达到它降低的TTL限制(在目标服务器之前)时,从服务器发送响应。这些响应是traceroutes如何能够找到数据包如何到达目的地的。