Ich möchte alle IP-Adressen von Geräten in dem lokalen Netzwerk finden, mit dem ich derzeit über Java-Code verbunden bin. Das nützliche Dienstprogramm Advanced IP Scanner
ist in der Lage verschiedene IP-Adressen in meinem subnet von 192.168.178/24
zu finden:Finden Sie alle IP-Adressen im lokalen Netzwerk
Nach this Antwort, ich meinen Code auf folgende Weise aufgebaut:
import java.io.IOException;
import java.net.InetAddress;
public class IPScanner
{
public static void checkHosts(String subnet) throws IOException
{
int timeout = 100;
for (int i = 1; i < 255; i++)
{
String host = subnet + "." + i;
if (InetAddress.getByName(host).isReachable(timeout))
{
System.out.println(host + " is reachable");
}
}
}
public static void main(String[] arguments) throws IOException
{
checkHosts("192.168.178");
}
}
Leider ist dies tut keine Ergebnisse ausgeben, dh keine IP-Adressen sind erreichbar. Warum? In meinem lokalen Netzwerk befinden sich Geräte wie im Advanced IP Scanner
Scan.
Ich überprüfte diesen Code in meinem Netzwerk, mit Broadcast, nur meine IP oder versuchen "www.google.com". Immer sagt "nicht erreichbar". Überprüfen Sie diese Antwort: http://stackoverflow.com/questions/9922543/why-does-inetaddress-isreachable-return-false-when-i-can-ping-the-ip-address –
Mögliches Duplikat von [Wie man a Liste der IP verbunden in demselben Netzwerk (Subnetz) mit Java] (http://stackoverflow.com/questions/3345857/how-to-get-a-list-of-ip-connected-in-same-network-subnet- using-java) – jww