如何使用Java获取在同一网络(子网)中连接的IP的列表
当网络上的主机对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"); } } }
像这样调用子网(192.168.0.1-254)的方法:
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和以上/
希望有帮助