mDNS の Go ライブラリの改善を検討しています: https://github.com/davecheney/mdns/
著者と話をしたところ、彼は単に「私にとってはうまくいくようになった」と言っていますが、それは問題なく、オープン ソースの精神の範囲内です。
彼は、Avahi、Bonjour、および dns-sd 検出ツールがエクスポートしたサービスを見つけられないという相互運用性の問題について言及しました。
ポートと単純な名前で単純なサービスを実行するときに、Avahi によって公開されるレコードを理解しようとしています。
私は次の適切なバージョンを期待していました:
dig @localhost .local -t AXFR
Avahi がゾーンをエクスポートする可能性がありますが、私にはうまくいきませんでした (「あなたは間違ったことをしている」という合図!) - 典型的な Avahi サービスによってエクスポートされる最小レコードを理解し、自動的に同じものを調べたいと思います。Lee-Hambleys-Macbook.local
mDNS の Go lang サポートを改善できるかもしれない、私のノートブックの Apple 実装からエクスポートされたものです。
他の人が Avahi/Bonjour/mDNS を使用している場合、掘り下げて期待どおりに機能していることを確認するために、どのツールを使用していますか?
#avahi の親切な人たちは、親切にも次のヒントを教えてくれました。
killall -USR1 avahi-daemon
これにより、そのavahi-daemon
ゾーン ファイルが にダンプされますsyslog
。
しかし、理想的には、サーバーにクエリを実行する最善の方法を知りたいのですが、tcpdump
これも有望に見えますが、ゾーン内にあるすべてのものの完全なダンプではなく、ルックアップされるレコードのみを表示しています:
sudo tcpdump dst port 53
Password:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:43:28.883763 IP 192.168.178.41.50916 > resolver2.opendns.com.domain: 50479+ A? e3191.c.akamaiedge.net. (40)
09:43:29.046201 IP 192.168.178.41.61989 > resolver2.opendns.com.domain: 55378+ PTR? 251.0.0.224.in-addr.arpa. (42)
09:43:29.123784 IP 192.168.178.41.56659 > resolver2.opendns.com.domain: 26471+ A? p05-btmmdns.icloud.com.akadns.net. (51)
09:43:29.819277 IP 192.168.178.41.53504 > resolver2.opendns.com.domain: 32010+ PTR? 220.220.67.208.in-addr.arpa. (45)
09:43:47.379251 IP 192.168.178.41.50916 > resolver2.opendns.com.domain: 50479+ A? e3191.c.akamaiedge.net. (40)
09:43:55.900406 IP 192.168.178.41.60511 > resolver2.opendns.com.domain: 32846+ AAAA? lc22.prod.livefyre.com. (40)
09:44:04.115159 IP 192.168.178.41.50916 > resolver2.opendns.com.domain: 50479+ A? e3191.c.akamaiedge.net. (40)
^C
7 packets captured
3187 packets received by filter
0 packets dropped by kernel