Tengo la dirección IP del servidor DNS y un nombre de host.
Usando Java, ¿cómo puedo encontrar la dirección IP del nombre de host devuelto por ese servidor DNS usando la dirección IP y el nombre de host?
Tengo la dirección IP del servidor DNS y un nombre de host.
Usando Java, ¿cómo puedo encontrar la dirección IP del nombre de host devuelto por ese servidor DNS usando la dirección IP y el nombre de host?
Respuestas:
Echar un vistazo a InetAddress, y el getHostAddress()método.
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddressdebería obtener la dirección de DNS resuelta cuando la solicite getHostAddress(). Sin embargo, no estoy seguro de si puede obligarlo a usar un servidor DNS específico .
Puedes hacerlo así:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
Puede usar InetAddress para esto. Pruebe el siguiente código,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
Como lo sugirió todo lo anterior, puede usar,
InetAddress.getByName("hostName")pero esto puede darle una IP en caché, lea la documentación de Java para el mismo. Si desea obtener una IP de DNS, puede usar:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>en una línea de comandos?