LinuxのhostコマンドでIPアドレスやドメイン情報を簡単に取得しよう!

Linuxでネットワークのトラブルシューティングやサーバー設定をする際、「このドメインのIPアドレスは?」「このIPアドレスはどのホスト名?」といった情報を調べる場面はよくあります。
そんなときに役立つのが、シンプルかつ強力なコマンド「host」です。
このコマンドを使えば、ドメイン名からIPアドレスを調べたり、逆にIPアドレスからドメイン名を確認したりすることができます。
この記事では、Linuxで使えるhostコマンドの基本的な使い方から応用テクニックまで、具体例を交えてわかりやすく解説します。ネットワーク初心者の方にも理解しやすいよう丁寧に紹介していきますので、ぜひ最後までご覧ください。


hostコマンドとは?

hostコマンドは、DNS(Domain Name System)を使って名前解決を行うためのコマンドです。
主に以下のような用途で使用されます。

  • ドメイン名からIPアドレスを調べる(正引き)
  • IPアドレスからドメイン名を調べる(逆引き)
  • DNSサーバーの情報を取得する

このコマンドは軽量かつ高速で、サーバー管理者やネットワークエンジニアにとって必須のツールの一つです。

Linuxの多くのディストリビューションでは、bind-utilsdnsutilsパッケージに含まれています。もしhostコマンドが使えない場合は、以下のようにインストールしてください。

# Debian系(Ubuntuなど)
sudo apt install dnsutils

# RedHat系(CentOS, Rocky Linuxなど)
sudo dnf install bind-utils

ドメイン名からIPアドレスを調べる(正引き)

最も基本的な使い方は、ドメイン名を入力してそのIPアドレスを調べる方法です。

host example.com

実行結果の例:

example.com has address 93.184.216.34

これは、example.com というドメイン名が 93.184.216.34 というIPアドレスに紐づいていることを示しています。
この情報は、Webサーバーに接続する前にDNSサーバーが行う名前解決と同じものです。


IPアドレスからドメイン名を調べる(逆引き)

逆引きは、IPアドレスからホスト名(ドメイン)を調べる手法です。

host 8.8.8.8

実行結果の例:

8.8.8.8.in-addr.arpa domain name pointer dns.google.

このように、Googleが提供しているDNSサービスのIPアドレス 8.8.8.8 に対して、ホスト名 dns.google が割り当てられていることがわかります。


NSレコード(ネームサーバー)の確認

ドメインが利用しているネームサーバー(NSレコード)を調べるには、以下のように指定します。

host -t ns example.com

実行結果の例:

example.com name server a.iana-servers.net.
example.com name server b.iana-servers.net.

複数のネームサーバーが表示される場合、それぞれがDNSの問い合わせに対応しています。DNSの障害対策や設定確認時に役立つ情報です。


MXレコード(メールサーバー情報)の確認

そのドメインが利用しているメールサーバーの情報(MXレコード)も確認できます。

host -t mx example.com

実行結果の例:

example.com mail is handled by 10 mail.example.com.

このように、メールの配送先となるメールサーバーのホスト名を知ることができます。


その他のDNSレコードタイプを指定して確認する

hostコマンドでは、-tオプションを使ってさまざまなレコードタイプを指定することができます。

レコードタイプ説明
AIPv4アドレス
AAAAIPv6アドレス
MXメールサーバー
NSネームサーバー
CNAME別名(エイリアス)
TXT任意のテキスト情報
SOAゾーン情報

例:

bashコピーする編集するhost -t txt google.com

実行結果(例):

google.com descriptive text "v=spf1 include:_spf.google.com ~all"

これは、SPFレコード(メールのなりすまし防止)などの情報を確認するために使われます。


指定したDNSサーバーを使って問い合わせる

hostコマンドは、特定のDNSサーバーを指定して名前解決することもできます。

host example.com 8.8.8.8

この例では、Google Public DNS(8.8.8.8)を使ってexample.comのIPアドレスを問い合わせています。
ネットワークのトラブルがあったとき、特定のDNSサーバーに問題があるかを切り分けるのに便利です。


-aオプションで詳細情報を一括表示

一つ一つレコードタイプを指定するのが面倒な場合は、-aオプションで一括して全レコードを表示させることもできます。

host -a example.com

このコマンドでは、SOAレコード、NSレコード、Aレコードなどをまとめて確認できます。


hostと他のコマンド(dig/nslookup)との違い

DNS関連の情報を取得するコマンドとしては、host以外にdignslookupも有名です。
それぞれの特徴は以下の通りです。

コマンド特徴
hostシンプルで使いやすい。標準出力向き
dig詳細な情報取得が可能。スクリプト向け
nslookupインタラクティブ操作が可能

hostはとにかく手軽で、簡単にDNSの確認ができるのが魅力です。ちょっとした確認であれば、最初に試してみるべきコマンドです。


トラブルシューティングでの活用例

例えば、あるWebサイトにアクセスできないとき、次のような手順で問題を絞り込むことができます。

  1. ドメイン名が正しくIPに変換できているか確認:
host example.com
  1. 自分のDNSサーバーが正しく機能しているか、別のDNSサーバーで試す:
host example.com 1.1.1.1
  1. メールが届かない場合、MXレコードを確認:
host -t mx example.com

このように、hostコマンドはネットワークの問題を切り分けるための第一歩として非常に有用です。


まとめ

hostコマンドは、LinuxにおけるDNS関連の情報取得において非常に便利なツールです。
ドメイン名の解決、IPアドレスの逆引き、各種レコード(NS、MX、TXTなど)の確認など、幅広く活用できます。

ネットワークのトラブル時やDNS設定の確認など、「ちょっと調べたい」ときに手軽に使えるのが大きな魅力。
また、複雑な構文もなく直感的に使えるため、初心者にもおすすめのコマンドです。

ぜひこの記事を参考に、実際にターミナルで試してみてください。繰り返し使っていくうちに、自然とネットワークの知識も深まっていくはずです。

タイトルとURLをコピーしました