InetAddress.isReachable
1、
代码:
1 public static void main(String[] args) throws Exception 2 { 3 InetAddress addrDest = InetAddress.getByName("192.168.1.6"); 4 if (addrDest.isReachable(5000)) // 这里的参数是 超时时间,在该时间段内测试成功,则函数立即返回true;如果远端can't reach,则到达超时时间后,函数返回false 5 System.out.println("isReachable"); 6 else 7 System.out.println("not isReachable"); 8 }
2、
抓包:
snpa 抓包发现,这个函数的过程如下:
(1)、ARP解析MAC (不管本机ARP缓存中是否有目标IP的记录,一律重新发送ARP请求)
(2)、TCP 端口7 两次握手
PS:
ECHO协议 - 注解
主要用于调试和检测中。它可以基于TCP协议,服务器就在TCP端口7检测有无消息,如果使用UDP协议,基本过程和TCP一样,检测的端口也是7。
(ZC:来自 互动百科)
Z