DNS-поиск через InetAddress API не работает должным образом - PullRequest
0 голосов
/ 03 мая 2019

Я использую 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 ().

...