Desidero trovare tutti gli indirizzi IP dei dispositivi nella rete locale in cui sono attualmente connesso utilizzando il codice Java. L'utilità utile Advanced IP Scanner
è in grado di trovare i vari indirizzi IP nel mio subnet di 192.168.178/24
:Trova tutti gli indirizzi IP nella rete locale
Secondo this risposta, ho costruito il mio codice seguente modo:
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");
}
}
Purtroppo, questo non stampare alcun risultato, il che significa che nessun indirizzo IP è raggiungibile. Perché? Ci sono dispositivi nella mia rete locale come visto nella scansione Advanced IP Scanner
.
Ho controllato il codice sulla mia rete, utilizzando la trasmissione, solo il mio IP o cercando "www.google.com". Dice sempre "non raggiungibile". Controlla questa risposta: http://stackoverflow.com/questions/9922543/why-does-inetaddress-isreachable-return-false-when-i-can-ping-the-ip-address –
Possibile duplicato di [Come ottenere un elenco di IP connessi nella stessa rete (subnet) utilizzando Java] (http://stackoverflow.com/questions/3345857/how-to-get-a-list-of-ip-connected-in-same-network-subnet- using-java) – jww