IPアドレスやホスト名を調べるには? hostコマンドネットワーク管理の基本Tips

IPアドレスは? ホスト名は? 名前解決の情報がどのようになっているかを確認する際に使うコマンドhostの基本をおさらいしましょう。

» 2014年12月17日 15時30分 公開
[海上忍,@IT]

バックナンバー

連載バックナンバー

 本連載では、ネットワーク管理の基本コマンドを順を追って紹介していきます。基本書式と用法、主要なオプション、用例サンプルを示しますので、manやhelp代わりに通読し、各コマンドでできることを順次おさらいしてみてください。今回はホスト名やIPアドレスとネームサーバーに問い合わせる際に用いるhostコマンドです。

hostコマンドとは?

 IPアドレスからホスト名を調べたい、その反対にホスト名からIPアドレスを調べたい、など名前解決に関する動作確認には「host」コマンドを利用します。DNSサーバーの動作を確認する目的にも利用できる、ネットワーク管理の基本ツール的な役割を果たすコマンドです。

hostコマンドの書式

host [オプション] ホスト名/IPアドレス [DNSサーバー]

※[ ]は省略可能な引数を示しています


概要

 DNSサーバーのリソースレコードが正しく設定されているかを確認したい時、DNSサーバーに対して名前解決の問い合わせを行うコマンドです。任意のDNSサーバーを指定することもできますが、省略するとデフォルトのDNSサーバー(/etc/resolv.confに定義されたもの)に対し問い合わせを実行します。

 正引き/逆引きの確認や各種レコードの絞込み検索を行い、DNSサーバーの設定を検証する目的にも利用できます。

 機能的にはdigコマンドと類似していますが、hostコマンドの方が出力される情報が簡潔で理解しやすいという特徴があります。

 対話モードで利用したい、DNSサーバーの応答を可能な限り忠実に表示したい、という場合にはdigコマンドを選択した方が良いでしょう。なお、nslookupもDNSサーバーへの問い合わせを行うコマンドとしてdigやhostと同等の機能を持ちますが、BIND 9以降は非推奨扱いとなっています。

hostコマンドの主なオプション

オプション 意味
-R リトライ回数を指定する
-W タイムアウトまでの時間を指定する
-4 IPv4のみ検索する
-6 IPv6のみ検索する
-a 全ての情報を表示する
-d 詳細な情報を出力する(-vも同じ)
-l DNSサーバーに登録されているホスト一覧を表示する
-r 再帰検索を実行しない
-t 問い合わせに使うレコードの種類を指定する
-w ホストから反応があるまで待機する

IPアドレスからホスト名を調べるには?

 IPアドレスからホスト名を割り出すとき(DNS逆引きの実行)には、引数にIPアドレスを与えて実行します。以下のコマンド実行結果からは、IPアドレス「202.218.219.147」のホスト名が「www.atmarkit.co.jp」だという情報が読み取れます。効果としては「dig -x IPアドレス」を実行したときと同様ですが、hostコマンドの方が出力される情報は少なく、詳細な情報を得るには「-v」オプションを指定する必要があります。

$ host 202.218.219.147
147.219.218.202.in-addr.arpa domain name pointer www.atmarkit.co.jp.

ホスト名からIPアドレスを調べるには?

 引数にホスト名(FQDN)を与えて実行すると、そのホスト名のIPアドレスを割り出すことができます(DNS正引きの実行)。ここでは「-a」オプションを指定し、全ての情報を表示しています(オプションに「-v -t ANY」を指定したときと同じ効果)。

$ host -a atmarkit.co.jp
Trying "atmarkit.co.jp"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23661
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;atmarkit.co.jp.			IN	ANY
;; ANSWER SECTION:
atmarkit.co.jp.		299	IN	A	202.218.219.147
atmarkit.co.jp.		21599	IN	SOA	itmns01.itmedia.co.jp. postmaster.itmedia.co.jp. 2014090801 3600 600 1209600 3600
atmarkit.co.jp.		21599	IN	NS	itmns02.itmedia.co.jp.
atmarkit.co.jp.		21599	IN	NS	dridcns01.itmedia.co.jp.
atmarkit.co.jp.		21599	IN	NS	itmns01.itmedia.co.jp.
atmarkit.co.jp.		21599	IN	NS	idcns01.itmedia.co.jp.
atmarkit.co.jp.		299	IN	MX	10 ml02.itmedia.co.jp.
atmarkit.co.jp.		299	IN	MX	10 aitmx01.itmedia.co.jp.
Received 238 bytes from 192.168.12.1#53 in 95 ms

特定のレコードに絞り混んで問い合わせるには?

 hostコマンドのデフォルトでは、PTRレコード(逆引きに使用されるポインター)とNSレコード(そのドメインが管理するネームサーバー)を含んだアドレス情報が出力されますが、MXレコード(そのドメインのメールサーバー)など他のレコードについても問い合わせることができます。

$ host -t mx atmarkit.co.jp
atmarkit.co.jp mail is handled by 10 aitmx01.itmedia.co.jp.
atmarkit.co.jp mail is handled by 10 ml02.itmedia.co.jp.

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。