通过InetAddress API的DNS查找未按预期工作

时间:2019-05-03 07:27:49

标签: java dns ipv4 inetaddress

我正在使用Linux机器,IP地址为10.32.17.63。

在DNS中,我为具有该IP的域(即example.com)输入了10.32.17.63。

当我对example.com进行ping操作时,它给我的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。 我期待inetAddress.getCanonicalHostName()中的example.com

0 个答案:

没有答案