Получение имени Bonjour (Zeroconf / mDNS) с IP-адреса

4

Похоже, что это лучший способ получить имя 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 / мобильных устройств особенно ценно)

Дэвид Шуинар
источник
1
Следы пакета будут полезны. Когда вы говорите, что хотите «получить те же результаты от Pi», вы говорите, что запускаете команду «dig» на Pi, или вы говорите, что пытаетесь узнать имя .local для Pi? Pi использует Avahi или какую-то другую реализацию ZeroConf / mDNS? Интересно, если вы запускаете dig, но не Avahi на Pi, а ответы возвращаются многоадресными, но Pi не запускает распознавающий DNS-преобразователь mDNS, поэтому он не прослушивает ответы на 224.0.0.251 : 5353.
Spiff
Ах. Я имею в виду запуск той же команды копания на Пи. Отредактировал мой вопрос, чтобы прояснить это.
Дэвид Шуинар
Пи доступен на raspberrypi.localи я вижу, avahi-daemonработает под ps. Я не возился с этим, это настройка по умолчанию. Что может помешать разрешению mDNS?
Дэвид Шуинар
Как я могу предоставить трассировки пакетов?
Дэвид Шуинар

Ответы:

3

Возможно, digв Raspbian используется библиотека распознавателя DNS, не поддерживающая mDNS, которая не знает, прослушивать ответы mDNS на 224.0.0.251:5353.

Посмотрите, содержит ли ваша установка Raspbian Avahi команды avahi-resolve --addressor avahi-resolve-address, и используйте их вместо dig.

Spiff
источник