Fedora 資料一覧

Avahi:利用可能なサービスをリストアップする

2008/8/28更新

対応バージョン: 9

Avahiで利用可能なサービスをリストアップするにはavahi-browseを使用する。

同コマンドは「avahi-tools」パッケージに同梱されているのでまずインストールする。

% sudo yum install avahi-tools

「avahi-tools」パッケージには以下のツールが含まれるが、ここではavahi-browseのみ説明する。

avahi-browse
avahi-browse-domains
avahi-discover
avahi-publish
avahi-publish-address
avahi-publish-service
avahi-resolve
avahi-resolve-address
avahi-resolve-host-name
avahi-set-host-name

関連資料・記事

全サービスリストアップ

全てのサービスをリストアップする場合は「-a」オプション付でavahi-browseを実行する。

% avahi-browse -a -t
+ eth0 IPv4 8CC06DD4D03779B0     _touch-able._tcp     local
+ eth0 IPv4 host_a               SSH Remote Terminal  local
+ eth0 IPv4 host_b               Web Site             local

この例では最初の行でiTunesのプレイリスト共有が、次の2行でhost_aとhost_bの2つのホストのリモートサービスがそれぞれリストアップされている。

-tオプションは一度リストアップした後にコマンドを終了させる指定で、これを付けないとサービスの有効/無効を常時監視するモードになる。

特定サービス詳細出力

特定のサービスについて詳細を出力したい場合は「-r <サービス>」オプション付でavahi-browseを実行する。

例えばWebサービス(Webサーバ)についての詳細を出力したい場合は以下のようにする。

% avahi-browse -r _http._tcp -t
+ eth0 IPv4 host_b               Web Site             local
= eth0 IPv4 host_b               Web Site             local
   hostname = [host_b.local]
   address = [192.168.0.1]
   port = [80]
   txt = []

関連資料・記事

うまく動作しない場合の対処方法

avahi-browseの結果が返ってこない

% avahi-browse -a
(結果が返ってこない)

avahi-browseはローカルで利用可能なサービスを取得するために224.0.0.251にmDNS(Multicast DNS)クエリを投げるが、宛先ポートが5353/udpなのでこれをファイアウォール等でブロックしていると結果が返ってこない。

ちなみに-aオプションを付けた場合は以下のクエリが発行される。

_services._dns-sd._udp.local

avahi-browseがエラーになる

% avahi-browse -a
Failed to create client object: Daemon not running

Avahiのデーモン(avahi-daemon)が起動していないので起動する。

(Fedoraの場合)

% sudo service avahi-daemon start