“avahi” 可以处理 IP 地址查找以及主机名查找吗?

“avahi” 可以处理 IP 地址查找以及主机名查找吗?

Ubuntu 使用“avahi”在本地网络上执行主机名查找,这使我只需在名称中添加“.local”即可找到其他计算机,例如 laptop.local 或 desk.local。

但是,avahi 似乎不会对本地网络上的计算机 IP 地址执行反向查找。因此,当应用程序查找本地计算机的 IP 地址时,会向 Internet 上的 Internet DNS 服务器发出请求,该服务器会返回 NXDOMAIN(名称不存在)。

avahi 是否可以对 IP 地址执行反向查找?如果可以,我该怎么做?

答案1

是的,avahi 支持对在本地网络上注册的 .local 名称进行反向 IP 地址查找。但是,大多数用于执行测试查询的命令都直接联系 DNS 服务器,而不使用 avahi。为了确认这在命令行中有效,您必须使用 命令getent hosts而不是nslookupdighost

例如,您可以使用以下命令查找 IP 地址:

$ nslookup 192.168.0.1
$ dig -x 192.168.0.1
$ host 192.168.0.1
$ getent hosts 192.168.0.1

只有该getent hosts命令才会返回相应的名称,因为它是唯一使用 avahi 执行反向查找的命令。

(实际上,这也适用于查找名称,但通常更简单的是只需输入ping hostname.local使用 DNS 或 avahi 执行名称查找并同时检查连接性。)

答案2

dig 还可以使用 avahi 执行反向 DNS 查找:

dig -x 192.168.0.1 @224.0.0.251 -p 5353

答案3

有一个 avahi 命令:avahi-resolve-address.例如:

avahi-resolve-address 192.168.0.1

或者,等效的变体:

avahi-resolve --address 192.168.0.1

相关内容