HOST(1) | FreeBSD General Commands Manual | HOST(1) |
名称
host — ドメインサーバを使ってホスト名の検索を行なう書式
host [ -adlrwv][ -c class][ -t querytype] host [ server]解説
host はインターネットホストに関する情報の検索を行ないます。情報は世界中に広がった相互に接続されたサーバ群から得ます。デフォルトではホスト名とインターネットアドレス間の変換のみを行ないます。“ -t”や“ -a”オプションとともに使うと、そのホストに関するドメインサーバによって保守されている情報のすべてを得ることができます。引数にはホスト名かホスト番号のいずれかを指定できます。本プログラムはまず引数をホスト番号として解釈を試みます。それがうまくいかなければ、ホスト名として扱います。ホスト番号は 128.6.4.194 のようにドットによって区切られた 4 つの 10 進数からなります。ホスト名は topaz.rutgers.edu のようにドットで区切られた複数の名前からなります。名前がドットで終っていなければ、ローカルドメインが自動的に末尾に付け加えられます。たとえば Rutgers のユーザは
host topaz
というように使うことができ、これは実際には "topaz.rutgers.edu"が検索されます。これがうまくいかなければ、名前は変更されずに (この例では "topaz"として) 試みられます。このやりかたはメールやその他のネットワークユーティリティでも使うことができます。実際に末尾に付け加えられる接尾辞は、 hostname(1) を呼び出した結果の最初のドット以降となります。(下記の ホスト名検索のカスタマイズ の節を参照してください。)
最初の引数は検索を行なうホスト名となります。これが数字の場合、“逆引き”が実行されます。すなわちドメインシステムは数字を名前に変換するための別のデータベース群を参照します。
2 番目の引数は省略可能です。ここでは問い合わせを行なうサーバを指定することができます。この引数が指定されなければ、デフォルトのサーバ (通常はローカルマシン) が使われます。
名前が指定された場合、3 つの異なった種類の結果が出力されます。以下はそれらの例です。
% host sun4
sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
ATHOS.RUTGERS.EDU has address 128.6.5.46
ATHOS.RUTGERS.EDU has address 128.6.4.4
ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU
ここでユーザはコマンド“ host sun4”を入力しています。最初の行は名前“ sun4.rutgers.edu
”は実際にはニックネームであることを示しています。正式なホスト名は“ ATHOS.RUTGERS.EDU
”です。続く 2 行ではアドレスが表示されています。もし複数のネットワークインタフェースをもつシステムであれば、その各々は別のアドレスを持ちます。最後の行では ATHOS.RUTGERS.EDU
は自分に対するメールは受け取らないことを示しています。このホスト宛てのメールは ARAMIS.RUTGERS.EDU
によって取り込まれます。いくつかのシステムではそのメールを扱うシステムが複数存在することがあり、その場合はこの行のような情報がさらに出力されます。技術的にはメールを受け取ることのできるすべてのシステムがこのようなエントリを持つと考えられます。もしシステムがそのメールを自分自身で受け取る場合、
XXX mail is handled by XXX
のように、そのシステム自身について言及したエントリがあるはずです。しかし、メールを自分で受け取る多くのシステムではわざわざその事実について言及していません。もしあるシステムに“ mail is handled by
”のエントリがあるのにアドレスがなければ、それは本当はインターネットの構成員ではないが、ネットワーク上のあるシステムがメールをそこに転送してくることを示しています。 Usenet や Bitnet やその他の多くのネットワーク上のシステムではこの種のエントリを持っています。
オプション
ホスト名の前に指定できるオプションは沢山あります。これらのオプションのほとんどはドメインデータベースを保守しているスタッフにのみ意味のあるものです。- -a
- “all”の意。これは“ -v -t any”と同じです。
- -c class
- 非インターネットデータを検索する class 。
- -d
- デバッグモードとなります。ネットワークトランザクションが詳細に表示されます。
- -l
-
完全なドメインのリストを表示します。例えば
host -l rutgers.edu
を実行すると、rutgers.edu ドメインのすべてのホストのリストを表示します。“ -t”オプションを使うことによって表示する情報にフィルタをかけることができます。デフォルトでは PTR と NS レコードを含んだアドレス情報が表示されます。
host -l -v -t any rutgers.eduこのコマンドでは rutgers.edu の完全なゾーンデータを正式なマスタファイルの形式でダウンロードします。(しかし不思議な理由により SOA レコードは 2 回リストされます。)
注: “ -l”フラグは完全なゾーン転送を行なった後、要求した情報をフィルタリングするように実装されています。このコマンドは絶対に必要な時に限って使うべきです。
- -r
- 再帰的な問い合わせを行ないません。これはネームサーバがそのサーバ自身のデータベースに所持しているデータのみを返すことを意味します。サーバは他のサーバに情報の問い合わせを行ないません。
- -d
- デバッグを有効にします。ネットワークトランザクションの詳細が表示されます。
- -s
- 署名から親の鍵を追跡します (DNSSEC)。
- -t querytype
- 特定の querytype の情報の検索を指定することができます。引数は named(8) の man ページにおいて定義されています。現在サポートされているタイプには以下のものが含まれます: “ a”, “ ns”, “ md”, “ mf”, “ cname”, “ soa”, “ mb”, “ mg”, “ mr”, “ null”, “ wks”, “ ptr”, “ hinfo”, “ minfo”, “ mx”, “ uinfo”, “ uid”, “ gid”, “ unspec”さらに、ワイルドカード (これは“ any”か“ *”として指定されます) があり、上記のすべてのタイプを指定するためにつかいます。タイプは小文字で指定しなければなりません。デフォルトでは最初に“ a”が検索され、次に“ mx”が検索されます。ただし、verbose オプションが指定されていると、デフォルトでは“ a”のみの検索を行ないます。オプション“ -t”は host が返す情報にフィルタをかけるのに特に有効です。それ以上の情報は下記の“ -l”オプションの説明を参照してください。
- -a
- “すべて”。“ -v -t any”と同じです。
- -l
-
完全なドメインを列挙します。例えば
host -l rutgers.edu
は、rutgers.edu domain 内のすべてのホストを列挙します。“ -t”オプションを使用して、どの情報を表示するかを、意図通りフィルタ可能です。デフォルトは、アドレス情報と PTR と NS レコードです。コマンド
host -l -v -t any rutgers.eduは、rutgers.edu に対するゾーンデータの完全なダウンロードを、公式なマスタファイル書式で与えます (しかしながら、不可解な理由で、SOA レコードは 2 度表示されます)。
注: “ -l”の実装は、完全なゾーン転送を行い、これに対して要求した情報をフィルタアウトすることで行われます。このコマンドの使用は、本当に必要な場合に限るべきです。
ホスト名検索のカスタマイズ
一般にユーザによって指定された名前にドットが含まれていなければ、デフォルトのドメインがその末尾に付け加えられます。このドメインは /etc/resolv.conf において定義することができますが、通常はローカルのホスト名の最初のドット以降を取ることによって求められます。ユーザは環境変数 LOCALDOMAIN を使って異なるデフォルトドメインを指定することによって、これをオーバーライドすることができます。さらに、ユーザはホスト名の独自の略称を使うこともできます。略称は 1 つの略称につき 1 行からなるファイルにおいて指定します。各行には略称、スペース、そして完全なホスト名が含まれます。このファイルは環境変数 HOSTALIASES にてファイル名を指定します。環境変数
- HOSTALIASES
- ( ホストの別名, 完全なホスト名) のペアを含んでいるファイルのファイル名
関連ファイル
- /etc/resolv.conf
- resolver(5) を参照してください。
- HOSTALIASES
- ( ホストの別名, 完全なホスト名) のペアを含んでいるファイルのファイル名
バグ
ローカルドメインに含まれない名前を入力すると予期できない影響が起こり得ます。名前がドットで終っていない限り、ローカルドメイン名がすべての名前の末尾に付加されることをいつも心に留めておいてください。ローカルドメインの補完に失敗した時のみ、名前は変更されずに使用されます。“ -l”オプションでは要求されたドメインにおいてリストされている最初のネームサーバにのみ問い合わせを行ないます。もしこのサーバが死んでいれば、サーバをマニュアルで指定しなければなりません。たとえば foo.edu のリストを得るには、
host -t ns foo.edu
と指定して foo.edu のすべてのネームサーバのリストを得てから、動作するものが見つかるまでリストにあるすべてのネームサーバについて
host -l foo.edu xxx
(ここで“ xxx”はネームサーバ) を試みれば良いでしょう。
December 15, 1994 | BSD 4 |