当网络上的主机对ICMP软件包做出响应(ping)(> JDK 5)时,该方法应该起作用:
public void checkHosts(String subnet){
int timeout=1000;
for (int i=1;i<255;i++){
String host=subnet + "." + i;
if (InetAddress.getByName(host).isReachable(timeout)){
System.out.println(host + " is reachable");
}
}
}
checkHosts("192.168.0");
没有测试它,但应该像这样工作。显然,这仅检查ip地址的最后一个字节中的254个主机…
校验:
http://download-llnw.oracle.com/javase/6/docs/api/java/net/InetAddress.html#isReachable%28int%29 http://blog.taragana.com/index.php/archive/how做icmp在Java jdk-15和以上/
希望有帮助