18

众所周知,我们可以在 /etc/hosts 中添加 'ip host' 项来模拟 DNS 的名称解析,现在问题来了,我可以使用 /etc/hosts 进行反向解析,形成 ip 到主机名吗?或者有没有其他方便的方法来做到这一点?谢谢!

4

4 回答 4

34

也许。这将取决于您用于查找的工具和在您的计算机上进行解析的配置。

例如 gethostbyaddr() 将检查 /etc/hosts 如果“文件”在 /etc/nsswitch.conf 的主机部分中

但是请注意,并非所有工具都会进行本地解析,例如“host”命令,因此它完全取决于您尝试进行查找的方式。

于 2013-10-25T09:41:14.333 回答
2

是的。如果应用程序使用名称服务切换库(大多数应用程序使用),并且如果/etc/nsswitch.conf配置为/etc/hosts使用如下行解析 IP,它会自动执行此操作:

hosts:          files dns

您可以使用以下任一选项测试反向名称解析:

getent hosts 127.0.0.1

或者

resolveip 127.0.0.1
于 2018-10-02T15:35:01.493 回答
1

不可以。这只能在 DNS 服务器上完成。

于 2012-11-13T06:41:59.270 回答
0

是的你可以。如果您使用 dnsmasq,您可以通过多种方式进行干扰,以获取到 127.0.0.1 的正向查找以及从 127.0.0.1 到您的主机的反向查找。例如,如果您的主机名是 host1.mydomain.com,真实 IP 地址为 192.168.1.12,那么您可以通过在 dnsmasq 配置文件中执行以下操作来获取 127.0.0.1 来解析它: host-record=host1.mydomain .com,127.0.0.1

前向干扰可以通过多种方式完成,这里有一种:alias=192.168.1.12,127.0.0.1

显然,您需要正确设置 dnsmasq 的其余部分以转发到您的真实 DNS 服务器......但这很简单

于 2017-11-22T05:23:19.520 回答