Linux / コマンド / host - ドメインとIPアドレスのDNS情報を簡単に確認

hostはDNS(Domain Name System)に問い合わせ、名前に対応するIPアドレスや、アドレスの逆引き名を調べるツールです。レコードの種類や問い合わせ先を指定して、結果を簡潔に確認できます。

既定ではシステムに設定されたDNSサーバーを使います。別のサーバーを使う場合は、host -t A example.com サーバーのIPのように最後へ指定します。IPアドレスを検索対象にすると、逆引き用のPTRレコードを調べます。応答ヘッダーや状態を詳しく分析する場合は、digによるDNSレコードと応答の確認も使えます。

基本的な文法

host [オプション] 名前|IP [DNSサーバー]

インストールされている実装とオプションは、配布版によって異なる場合があります。man hostで現在のシステムの説明を確認してください。

使用例

ドメインアドレスの照会

example.comは説明用ドメインです。実際には調べたい名前に置き換えます。型を省略するとA・AAAAなど複数の種類を照会する場合があり、既定の種類は実装のバージョンによっても異なります。必要な種類だけに限定する場合はhost -t A example.comのように指定してください。

host example.com

メールレコードの照会

MXレコードでメール受信サーバーを確認します。

host -t MX example.com

逆引き照会

IPに登録されているPTR名があるか確認します。

host 192.0.2.1

簡単なDNS問い合わせ結果

hostは名前からアドレスを見つけたり、アドレスの逆引き名を確認する簡単なDNS問い合わせツールです。

host example.com

出力形式の一部(アドレスは説明用で、実際の回答とは異なります):

example.com has address 192.0.2.10

同じ名前にIPv4・IPv6アドレスが複数ある場合、出力も複数行になることがあります。host -t MX ドメインはメール交換レコードを問い合わせます。接続に問題がある場合は、DNSの結果が出るかどうかと、ssで確認するサービスの待ち受け状態や実際の接続結果を分けて確認してください。

主なオプションと形式

オプション・形式 説明
-t 形式 問い合わせるDNSレコード形式を指定します。
-a 詳細表示を有効にし、通常ANYを問い合わせます。ANYの応答は限定される場合があるため、その名前の全レコードを取得できる保証はありません。
-v クエリと応答の詳細内容を表示します。
-4 / -6 DNSサーバーへの通信をIPv4またはIPv6に限定します。A・AAAAのどちらを問い合わせるかは-tで指定します。
末尾のサーバー引数 デフォルトのサーバーの代わりに指定したDNSサーバーにクエリを送信します。

使用する際の注意点

逆引きの結果がないということは、PTRレコードが存在しないか、アクセスできないことを意味するのであって、IPが使用されていないことを意味するわけではありません。DNSの応答と実際の接続可能性は別問題です。レコードが見えない場合は、クエリしたサーバー、キャッシュおよびレコード形式を確認してください。

よくある質問

hostとhostnameは同じコマンドですか?

いいえ。hostはDNS情報を問い合わせ、hostnameは現在のシステムのホスト名を表示または設定します。

公式ドキュメント

オプションの正確な動作や実装ごとの違いについては、host関連の公式ドキュメントで確認できます。