そうです これが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」)は特に価値があります)
RaspbianのDig
は、224.0.0.251:5353のmDNS応答をリッスンすることを知らない非mDNS対応のDNSリゾルバーライブラリを使用している可能性があります。
RaspbianAvahiのインストールにavahi-resolve --address
またはavahi-resolve-address
コマンドが含まれているかどうかを確認し、Dig
の代わりにそれらを使用してください。