Tenho o endereço IP do servidor DNS e um nome de host.
Usando Java, como posso encontrar o endereço IP do nome do host conforme retornado por esse servidor DNS usando o endereço IP e o nome do host?
Tenho o endereço IP do servidor DNS e um nome de host.
Usando Java, como posso encontrar o endereço IP do nome do host conforme retornado por esse servidor DNS usando o endereço IP e o nome do host?
Respostas:
Dê uma olhada em InetAddresse o getHostAddress()método.
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddressdeve obter o endereço DNS resolvido quando você solicitar getHostAddress(). Não tenho certeza se você pode forçá-lo a usar um servidor DNS específico .
Você pode fazer assim:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
Você pode usar InetAddress para isso. Experimente o código abaixo,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
Como sugerido por tudo acima, você pode usar,
InetAddress.getByName("hostName")mas isso pode lhe dar um IP em cache. Leia a documentação do java para o mesmo. Se você deseja obter um IP do DNS, pode usar:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>em uma linha de comando?