web-dev-qa-db-ja.com

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

これは私のMacbookProで期待どおりに機能します。ただし、別のデバイス(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を呼び出すと、どうすれば同じ結果を得ることができますか?ホストは、RaspberryPiから問題なくpingできます。

私はネットワークデバイスからできるだけ多くの情報を収集したいと思っています。他のアプローチを検討して喜んでいます。 (iOS /モバイルデバイスの名前(「ジョーのiPhone」)は特に価値があります)

4
David Chouinard

RaspbianのDigは、224.0.0.251:5353のmDNS応答をリッスンすることを知らない非mDNS対応のDNSリゾルバーライブラリを使用している可能性があります。

RaspbianAvahiのインストールにavahi-resolve --addressまたはavahi-resolve-addressコマンドが含まれているかどうかを確認し、Digの代わりにそれらを使用してください。

3
Spiff