Я использую Linux-машину и IP-адрес 10.32.17.63.
В DNS я сделал запись для домена с этим IP, т.е. example.com для 10.32.17.63.
когда я выполняю ping example.com
, это дает мне IP, значит DNS работает нормально:
ping example.com
PING example.com (10.32.17.63) 56(84) bytes of data
в / etc / hosts нет записи для example.com
Enumeration<NetworkInterface> nets =
NetworkInterface.getNetworkInterfaces();
for (NetworkInterface netint : Collections.list(nets)) {
Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
for (InetAddress inetAddress : Collections.list(inetAddresses)) {
System.out.println("IP := "+inetAddress.getHostAddress());
System.out.println("hostname := "+inetAddress.getCanonicalHostName());
}
}
Я искал в интернете и обнаружил, что InetAddress также ищет DNS. В моем окружении Менеджер безопасности отключен.
Но приведенный выше код дает мне inetAddress.getHostAddress()
: 10.32.17.63 и
inetAddress.getCanonicalHostName()
: 10.32.17.63.
Я ожидал example.com
в inetAddress.getCanonicalHostName ().