Похоже, что это лучший способ получить имя Bonjour с IP-адреса:
$ 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. Однако, запустив dig на другом устройстве (Raspberry Pi), результатов нет:
$ 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
Это почему? Как я могу получить те же результаты при вызове dig от Raspberry Pi? Хозяин может просто отлично пинговать от Raspberry Pi.
Я собираюсь собрать как можно больше информации с сетевых устройств, с удовольствием рассмотрю другие подходы. (имя («iPhone от Джо») iOS/ мобильных устройств особенно ценно)