Ho l'indirizzo IP del server DNS e un nome host.
Utilizzando Java, come posso trovare l'indirizzo IP del nome host restituito da quel server DNS utilizzando l'indirizzo IP e il nome host?
Ho l'indirizzo IP del server DNS e un nome host.
Utilizzando Java, come posso trovare l'indirizzo IP del nome host restituito da quel server DNS utilizzando l'indirizzo IP e il nome host?
Risposte:
Dai un'occhiata a InetAddresse al getHostAddress()metodo.
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddressdovrebbe ottenere l'indirizzo DNS risolto quando lo chiedi getHostAddress(). Non sono sicuro che sia possibile forzarlo a utilizzare un server DNS specifico .
Puoi farlo in questo modo:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
È possibile utilizzare InetAddress per questo. Prova il codice seguente,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
Come suggerito da tutto sopra, puoi usare
InetAddress.getByName("hostName")ma questo può darti un IP memorizzato nella cache, leggi la documentazione di java per lo stesso. Se vuoi ottenere un IP dal DNS puoi usare:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>in una riga di comando?