1

I want to implement traceroute/ping/dns lookup in the my application. For ping i use a ProcessBuilder:

    ProcessBuilder processBuilder = new ProcessBuilder("ping", "-c 1", host);
    Process process = processBuilder.start();

But how can i use a traceroute and dns lookup? Is it possible without root? Thx.

4

1 回答 1

0

关于traceroute命令。此命令本质上是设置了TTL(生存时间)标志的递归ping 。TTL 与时间无关。相反,它是一个跳计数器。每次 IP 数据包通过路由器或交换机时,TTL 字段减 1。该字段长度为 8 位,因此最大跳数为 255。

这意味着您可以使用 ping 进行自己的跟踪路由。

就像是:

ProcessBuilder processBuilder;
for(int i = 100; i != 0; i==) {
  processBuilder = new ProcessBuilder("ping", "-c 1 -T " + i, host);
  /* do stuff here */
}
于 2016-05-03T07:03:57.550 回答