如何将IP地址解析为域名?


Answers:


31

是的,您可以(有时)将IP地址解析回主机名。

在DNS中,可以根据PTR记录存储IP地址。您可以使用nslookup解析主机名和IP地址,尽管nslookup已经有相当长的时间不推荐使用了。

为了获得最佳结果,您应该真正掌握该dig工具。如果您是Linux用户,则可以作为dnsutils(debian)或类似软件包的一部分使用。如果您是Windows用户,则可以按照这些说明进行安装dig

然后,您可以执行以下操作:

dig A <hostname>

查找主机的IPv4地址,或:

dig AAAA <hostname>

查找主机的IPv6地址,或:

dig PTR ZZZ.YYY.XXX.WWW.in-addr.arpa.

要查找IPv4地址的主机名WWW.XXX.YYY.ZZZ(请注意八位字节是反向的),或:

dig PTR b.a.9.8.7.6.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

要获取IPv6地址的主机名2001:db8 :: 567:89ab。


4
刚想到,最好提一下:当您要求DNS服务器将IP解析为主机名时,其技术名称是反向查找。
LawrenceC

确实-反向查询是通过PTR资源记录来实现的,PTR是的简写pointer
Mike Insch

6
这有什么错dig -x <ipaddress>?在我的Linux系统上,它同时使用IPv4和IPv6。dig -x 169.254.0.1dig -x fe80::1
CVn

1
@hyperslug,至少在Win7上-a列出了ping的选项Resolve addresses to hostnames,所以我不明白为什么它不起作用。但是,实际上nslookup甚至更好dig意思这样的事情。Ping不是。
CVn

1
@TheLQ:我从《BIND 9.4管理员参考手册》中引用:“由于其神秘的用户界面和经常不一致的行为,我们不建议您使用nslookup。请改用dig。” 在许多情况下,使用nslookup还会导致“ nslookup不建议使用,并可能从将来的版本中删除。请考虑使用dighost程序”。 如果您愿意看一下,Google可以很容易地通知您。
Mike Insch


5

您可以使用nslookupdig或其他网络工具来获取IP地址域名,但不一定是您所期望域名。

与正常的DNS查找不同,在正常的DNS查找中,许多名称可以解析为一个IP地址,而反向DNS查找则只能解析为一个名称,由控制相关IP块的反向DNS信息的任何人来处理。没有其他人可以PTR在随机IP地址块上设置记录。这与“常规” DNS查找相反,在常规DNS查找中,任何人都可以设置域名并创建A指向他们想要的IP地址的记录。

这个ServerFault问题有关于此主题的更多信息。

我的观点是,仅仅因为您可以做到,并不意味着您将获得期望的结果,或者它将会有用。


2
+1:这不得不说。通常,对于A记录和PTR记录都在同一个人控制下的知名Internet站点,PTR记录仍然引用一些内部计算机名称。该PTR记录也可能不存在,例如,如果您尝试dig www.google.com然后映射到dig -x的IP地址之一www.google.com
肯·布鲁姆

应该说共享服务器是一种常见的情况,其中反向查找将是由拥有服务器的任何公司分配的域。或者,对于共享IP,无论哪个公司拥有ISP。例如,如果您在网站的IP上进行反向查找,则可能会得到诸如“ host123.somecompany.com”之类的奇怪信息。您可能会看到共享服务器。如果对随机IP执行反向操作,则可能会看到类似“ c-12-34-56-78.hsd1.or.comcast.net”的内容。这是ISP comcast.net的IP,因此它必须是随机的家庭用户。
jcrawfordor 2011年

一个IP地址可以解析多少个PTR记录没有技术限制;一个PTR只是一个约定(也是安全/隐私原因)。
grawity

3

dig可以-x addr选择:

通过该-x选项可以简化反向查找(将地址映射到名称)。 addr是用点分十进制格式表示的IPv4地址,或冒号分隔的IPv6地址。当使用此选项,也没有必要提供nameclass并且type参数

例如:

dig -x 82.165.8.211

顺便说一句:IP地址在ARTIK 710开发板的journalctl日志中,我认为它已被黑客入侵。我不记得dig不使用乏味的PTR方法来执行此操作的选项,但是后来我看到了Michael评论

手册页dig只是顺便提到了它;我什至没有注意到它,直到我在这里找到答案,然后回头搜索它。

ps将地址解析为ipv4.connman.net,然后我找到了它;我没有被黑。

[root@artik ~]# grep -r '\<ipv4.connman.net\>' /etc /usr/bin /usr/sbin
Binary file /usr/sbin/connmand matches

引起关注的日志条目是:

Jul 15 04:41:11 artik connmand[1870]: wlan0 {add} route 82.165.8.211 gw 192.168.251.1 scope 0 <UNIVERSE>
Jul 15 04:41:12 artik connmand[1870]: wlan0 {del} route 82.165.8.211 gw 192.168.251.1 scope 0 <UNIVERSE>

1

可以使用bing搜索引擎将IP地址“解析”为主机名的另一种方法。如果主机运行公共Web服务器,并且该主机服务的某些站点已建立索引,则可以使用ip:前缀查询它。

只需输入ip:64.34.119.12搜索表单即可获取该IP后面的主机名列表。


0

主人呢?我每天在工作中使用它

#host speakeasy.net
speakeasy.net has address 69.17.117.156
speakeasy.net mail is handled by 5 mx.speakeasy.net.
speakeasy.net mail is handled by 10 mx01.speakeasy.net.
speakeasy.net mail is handled by 15 mx02.speakeasy.net.

#host 69.17.117.156
156.117.17.69.in-addr.arpa domain name pointer www.speakeasy.net.

但这是针对Linux的。
Boris_yo 2011年

@boris_yo,这里是Windows的一个:softpedia.com/get/Network-Tools/Misc-Networking-Tools / ...-我知道那里有更好的一个,我只需要找到它。
MaQleod 2011年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.