如何在Java中进行反向DNS查找?
我可以看到,有一个条目用于使用nslookup对给定IP地址进行反向查找如何在Java中进行反向DNS查找?,java,dns,Java,Dns,我可以看到,有一个条目用于使用nslookup对给定IP地址进行反向查找 nslookup 54.193.201.195 Server: 172.16.0.23 Address: 172.16.0.23#53 Non-authoritative answer: 195.201.193.54.in-addr.arpa name = ec2-54-193-201-195.us-west-1.compute.amazonaws.com. 然而,当我尝试在Java中使用几个堆栈溢出答案
nslookup 54.193.201.195
Server: 172.16.0.23
Address: 172.16.0.23#53
Non-authoritative answer:
195.201.193.54.in-addr.arpa name = ec2-54-193-201-195.us-west-1.compute.amazonaws.com.
然而,当我尝试在Java中使用几个堆栈溢出答案中列出的方法进行同样的操作时,我总是得到与规范主机名相同的输入IP
//Always prints the IP address I input
addr = InetAddress.getByName("54.193.201.195");
log.debug("Host Name: {}", addr.getCanonicalHostName());
我如何才能取回主机名条目,而不是原来的IP?这对我来说很有用。你是说你回来了吗?
54.193.201.195
?是的,我回来了54.193.201.195列出了一种方法(使用PTR记录查找)它也适用于我。您可以尝试将google dns设置为java默认值,然后使用:System.setProperty(“sun.net.spi.nameservice.nameservers”,“8.8.8.8”);System.setProperty(“sun.net.spi.nameservice.provider.1”,“dns,sun”);