O intuito é saber se o IP está atribuindo a uma máquina e se essa máquina está ou não ligada. Se estiver ligada o resultado será um aviso de que o IP está ativo, caso contrário, inativo.
Para saber isso você pode usar o código exemplo abaixo:
{code}
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Fernando Bryan Frizzarin
*/
public class VerificaIP {
public static void main(String[] args) {
try {
// Endereço IP a ser verificado
String addr = "10.0.1.1";
// Verifica se o IP responde com timeout de 2 segundos (2000 milissegundos)
if(InetAddress.getByName(addr).isReachable(2000)) {
String nome = InetAddress.getByName(addr).getHostName();
System.out.println("Host " + nome + " (" + addr + ") ativo!");
} else {
System.out.println("Host " + addr + " inativo!");
}
} catch (UnknownHostException ex) {
Logger.getLogger(VerificaIP.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(VerificaIP.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
{/code}