是否有任何方法可以 ping icmp(回显请求)而不是使用 isReachable?isReachable 在端口 7 上建立 TCP 连接,当我使用wireshark 时,我在 Windows 上没有看到任何 ICMP 数据包,在 Linux 上没有看到 ICMP 类型 3(不是类型 8 和 0)。因此,如果有人有建议或解决方案,请告诉我。非常感谢!
问问题
3751 次
2 回答
3
ICMP 往往需要管理权限,因此作为普通用户运行的 Java 程序不能直接使用 ICMP。
我想到的唯一解决方法是生成一个外部程序来运行操作系统提供的“ping”命令并解析其输出。
于 2012-01-08T18:32:01.493 回答
0
我们在使用 Parallec 库 ( http://www.parallec.io/ ) 时运气不错。
在此之前,我们使用 Runtime.exec() 运行 Linux 提供的 ping 命令行实用程序。
如上所述,如果您以特权用户身份运行,isReachable 将使用 ICMP,否则使用 TCP。
于 2017-03-01T19:13:48.073 回答