How do I get list of IP addresses for devices connected to my same subnet using Java?
this should work when the hosts on your network react to ICMP packages (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"); } } }
invoke the method for a subnet (192.168.0.1-254) like this:
checkHosts("192.168.0");
didnt test it but should work kinda like this. Obviously this only checks the 254 hosts in the last byte of the ip address...
check:
http://download-llnw.oracle.com/javase/6/docs/api/java/net/InetAddress.html#isReachable%28int%29 http://blog.taragana.com/index.php/archive/how-to-do-icmp-ping-in-java-jdk-15-and-above/
hope that helped
2.1m questions
2.1m answers
60 comments
57.0k users