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

1364
David Chouinard

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

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

1 ответ на вопрос

3
Spiff

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

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

Отлично. Это работает, спасибо. David Chouinard 8 лет назад 0