InetAddress.isReachable(NetworkInterface,int ttl,int timeOut)如果特定地址在ttl的跳数中是可到达的,则返回true,否则为false。
我还可以知道它获得成功或失败消息的IP地址吗?我的意思是我可以拥有中间跃点的IP,其中isReachable可以成功或失败。
答案 0 :(得分:0)
手册说;
如果可以获得权限,典型的实现将使用ICMP ECHO REQUEST,否则它将尝试在目标主机的端口7(Echo)上建立TCP连接。
基本上没有。在设计TCP / IP时,您无法保证通过正常的ICMP / TCP传输获得逐跳可达性信息,因此没有可靠的方法来获取该信息。
“traceroute”命令可以通过在发送的数据包上设置TTL来逐跳获取半可靠信息,但isReachable是一种“快速且脏”的检查可达性的方法,并且不使用此技术。