host コマンドは、ホスト名からIPアドレス、またはIPアドレスからホスト名を調べるシンプルなDNS問い合わせツールです。
名前解決の確認や、ドメインのレコード(MX, NS, TXTなど)の調査に利用されます。
構文(Syntax)
host [オプション] NAME [DNS_SERVER]
NAME: 調べたいホスト名またはIPアドレスDNS_SERVER: 問い合わせ先のDNSサーバー(省略時はシステムのデフォルト)
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
-t TYPE | レコードタイプを指定(A, AAAA, MX, NS, TXTなど) | host -t MX example.com |
-a | 全ての情報を表示(ANYクエリ) | host -a example.com |
-v | 詳細モード(デバッグ出力あり) | host -v example.com |
-4 | IPv4でDNS問い合わせを行う | host -4 example.com |
-6 | IPv6でDNS問い合わせを行う | host -6 example.com |
実行例
ドメイン名からIPアドレスを取得
host example.com
出力例:
example.com has address 93.184.216.34
IPアドレスからホスト名を逆引き
host 8.8.8.8
出力例:
8.8.8.8.in-addr.arpa domain name pointer dns.google.
MXレコードを調べる(メールサーバー)
host -t MX example.com
出力例:
example.com mail is handled by 10 mail.example.com.
TXTレコードを調べる(SPFやDKIMの確認など)
host -t TXT example.com
出力例:
example.com descriptive text "v=spf1 include:_spf.example.com ~all"
特定のDNSサーバーを指定して問い合わせ
host example.com 1.1.1.1
(CloudflareのDNSサーバーに問い合わせ)
関連コマンド
dig: 詳細なDNS情報を取得できる高度なツール。nslookup: 簡易的な問い合わせが可能だが、非推奨とされることもある。ping: 名前解決後に疎通確認を行う。
備考
hostはシンプルで使いやすく、スクリプト内でも扱いやすいです。- 一部のDNSサーバーでは
ANYクエリ(-a)が制限される場合があります。 - Linuxでは
bind-utils(RedHat系)やdnsutils(Debian系)パッケージに含まれています。
参考
- manページ: man7.org – host(1)
- ISC BIND: https://www.isc.org/bind/

コメント