我想通过我的应用程序运行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或其他方式 请帮帮我。
答案 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如何能够找到数据包如何到达目的地的。