У меня есть IP-адрес DNS-сервера и имя хоста.
Как с помощью Java найти IP-адрес имени хоста, возвращенный этим DNS-сервером, используя IP-адрес и имя хоста?
У меня есть IP-адрес DNS-сервера и имя хоста.
Как с помощью Java найти IP-адрес имени хоста, возвращенный этим DNS-сервером, используя IP-адрес и имя хоста?
Ответы:
Взгляните InetAddressи на getHostAddress()метод.
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddressдолжен получить разрешенный адрес DNS, когда вы попросите getHostAddress(). Я не уверен, что вы можете заставить его использовать определенный DNS-сервер.
Сделать это можно так:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
Вы можете использовать для этого InetAddress. Попробуйте приведенный ниже код,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
Как было сказано выше, вы можете использовать,
InetAddress.getByName("hostName")но это может дать вам кешированный IP-адрес. Прочтите документацию по java для того же. Если вы хотите получить IP-адрес от DNS, вы можете использовать:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>в командной строке?