ping または traceroute コマンドと同様に、dns-sd コマンドをネットワーク診断ツールとして対話的に使用して、サービスを参照したり、検出したりできます。
dns-sd のコマンド行引数やその出力形式は時間とともに変化する場合があるため、シェルスクリプトからのその起動は予測不可能であり、かつ危険です。さらに、DNS-SD は非同期の性質を持っているため、スクリプト指向のプログラミングにはあまり適していません。
詳細は、dns-sd(1M) のマニュアルページを参照してください。DNS サービスをアプリケーションに組み込むには、libdns_sd(3LIB) のマニュアルページを参照してください。
次の例は、DNS サービス検出を使用してサービスを通知する方法を示しています。
使用例 1 印刷サービスの通知この例では、My Test という名前のシステムのポート 515 上に LPR 印刷サービスが存在することを通知して、そのサービスを DNS-SD と互換性のある印刷クライアントから使用できるようにします。
# dns-sd -R "My Test" _printer._tcp. . 515 pdl=application/postscript
この登録を有効にするには、LPR サービスがポート 515 上で使用可能である必要があります。
使用例 2 Web ページの通知この例では、My Test システムのポート 80 上で HTTP サーバーによって処理されている Web ページを通知します。この Web ページは、Safari やその他の DNS-SD と互換性のある Web クライアント内の Bonjour リストに表示されます。
# dns-sd -R "My Test" _http._tcp . 80 path=/path-to-page.html