我想在我的应用程序中实现traceroute / ping / dns查找。 对于ping我使用ProcessBuilder:
ProcessBuilder processBuilder = new ProcessBuilder("ping", "-c 1", host);
Process process = processBuilder.start();
但是我如何使用traceroute和dns查找?没有root可能吗? THX。
答案 0 :(得分:0)
关于 traceroute 命令。此命令基本上是递归 ping ,并设置了 TTL (生存时间)标志。 TTL与时间无关。相反,它是一个跳跃计数器。每次IP数据包通过路由器或交换机时,TTL字段递减1.该字段长度为8位,因此最大跳数为255.
这意味着您可以使用ping执行自己的traceroute。
类似:
ProcessBuilder processBuilder;
for(int i = 100; i != 0; i==) {
processBuilder = new ProcessBuilder("ping", "-c 1 -T " + i, host);
/* do stuff here */
}