gpt4 book ai didi

java - 如何在 Java 中使用 ICMP 和跟踪路由

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:32 25 4
gpt4 key购买 nike

Java 没有用于 ICMP 和跟踪路由的原语。如何克服这个?基本上,我正在构建应该在 *nix 和 Windows 中运行的代码,并且需要一段可以在两个平台上运行的代码。

最佳答案

这是我今天写的用 Java 来“实现”trace route 命令的内容。我只在 Windows 中测试过,但它应该也可以在 Linux 中使用,尽管有几个 traceroute 工具可用于 Linux,因此很可能需要对这些程序的存在进行一些检查。

public class NetworkDiagnostics{
private final String os = System.getProperty("os.name").toLowerCase();

public String traceRoute(InetAddress address){
String route = "";
try {
Process traceRt;
if(os.contains("win")) traceRt = Runtime.getRuntime().exec("tracert " + address.getHostAddress());
else traceRt = Runtime.getRuntime().exec("traceroute " + address.getHostAddress());

// read the output from the command
route = convertStreamToString(traceRt.getInputStream());

// read any errors from the attempted command
String errors = convertStreamToString(traceRt.getErrorStream());
if(errors != "") LOGGER.error(errors);
}
catch (IOException e) {
LOGGER.error("error while performing trace route command", e);
}

return route;
}

关于java - 如何在 Java 中使用 ICMP 和跟踪路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2627706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com