从 IP 地址检索 Bonjour (Zeroconf/mDNS) 名称

从 IP 地址检索 Bonjour (Zeroconf/mDNS) 名称

它似乎这是从 IP 地址获取 Bonjour 名称的最佳方法:

$ dig -x 192.168.214.108 @224.0.0.251 -p 5353

; <<>> DiG 9.8.3-P1 <<>> -x 192.168.214.108 @224.0.0.251 -p 5353
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15357
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;108.214.168.192.in-addr.arpa.  IN  PTR

;; ANSWER SECTION:
108.214.168.192.in-addr.arpa. 10 IN PTR David-iPhone.local.

;; Query time: 40 msec
;; SERVER: 192.168.214.108#5353(224.0.0.251)
;; WHEN: Sat Sep  5 12:10:08 2015
;; MSG SIZE  rcvd: 78

这在我的 Macbook Pro 上按预期运行。然而,在另一台设备(Raspberry Pi)上运行 dig 时,没有结果:

$ dig -x 192.168.214.108 @224.0.0.251 -p 5353

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -x 192.168.214.108 @224.0.0.251 -p 5353
;; global options: +cmd
;; connection timed out; no servers could be reached

这是为什么?从 Raspberry Pi 调用 dig 时如何获得相同的结果?从 Raspberry Pi 可以顺利 ping 主机。

我希望从网络设备收集尽可能多的信息,乐于考虑其他方法。(iOS/移动设备的名称(“Joe 的 iPhone”)尤其有价值)

答案1

可能是digRaspbian 使用了不支持 mDNS 的 DNS 解析器库,它不知道在 224.0.0.251:5353 上监听 mDNS 应答。

查看您的 Raspbian Avahi 安装是否包含avahi-resolve --addressavahi-resolve-address命令,然后使用这些命令代替dig

相关内容