如何在 macOS 中找到 bonjour 检索到的主机名

问题描述 投票:0回答:3

我的网络中有一个设备支持 bonjour (ZeroConf) 协议。

当设备启动时使用 bonjour 协议分配主机名并使用 avahi 守护进程。

使用我的 macOS PC,我想检索设备分配给自己的主机名。

据我所知,该设备将使用 mdns 广播将主机名共享给同一网络中的设备。所以我的 macOS 收到了主机名。

是否有一些特定的命令行可以使用 bonjour 显示所有收到的主机名?

macos bonjour mdns zeroconf avahi
3个回答
0
投票

是否有一些特定的命令行可以使用 bonjour 显示所有收到的主机名?

是的。 从命令行,

dns-sd -B
显示您的 Mac 可以看到的所有 Bonjour 设备,或
dns-sd -Z
显示格式为区域文件的类似信息。这两个命令将继续运行,因此您可以使用 ctrl-C 停止它们,或添加
-t n
选项以在
n
秒后退出(例如
dns-sd -t 2 -Z
)。使用
dns-sd -H
获取一长串其他选项,显然
man dns-sd
获取有关命令和示例的更多信息。


0
投票

Apple Stackexchange 上的这篇帖子(这可能是一个更好的提问地点)有一些关于这个的信息:

https://apple.stackexchange.com/questions/65673/can-i-list-all-the-bonjour-enabled-services-that-are-running

我不确定你想要完成什么,如果这是一个脚本,我不认为这会很容易使用,但它似乎有助于手动查找。


0
投票

dns-sd 将在我的主机收到任何分钟探测时继续监听。但是 设备已发送探测且主机名/IP 已保存 在我的电脑的某个地方。因为当我尝试 ping 主机名时,我的 PC 立即找到 IP 地址,我的 PC 没有发出任何 dns 请求 (我用 Wireshark 检查过)。所以这意味着我的电脑找到了 从我 PC 的某处翻译主机名/IP

有几种方法,您可以使用 dscacheutil 获取缓存的 DNS 条目,使用

dscacheutil -cachedump -entries -Host
或使用 nmap 扫描您的本地网络并使用
dns-sd
脚本,该脚本也可用于发现和列出 Bonjour 服务
 nmap -sU --script dns-sd <local network address>
.

© www.soinside.com 2019 - 2024. All rights reserved.