dig / nslookup / host の使い方

DNS を引く

書き方

dig [@サーバー] 名前 [種類] [+short]
dig -x IP アドレス(逆引き)
dig @サーバー ゾーン axfr(ゾーン転送)
host 名前 [サーバー]
nslookup 名前 [サーバー]

resolv.conf の DNS サーバー(@ で指定もできる)に聞きます。/etc/hosts は見ません。種類は A・AAAA・MX・NS・SOA・CNAME・PTR など。flags の aa は「そのゾーンの持ち主が答えた」、status の NXDOMAIN は「その名前は無い」、REFUSED は「断られた」。bind-utils パッケージに入っています。

よく使うオプション

オプション意味
+short答えだけを短く出す
@サーバー聞く DNS サーバーを決める
種類(A・MX など)引くレコードの種類
-x IP アドレス逆引き(IP アドレスから名前)
+traceルートから順にたどって引く

例

$ dig +short www.example.com93.184.215.14

www.example.com の IP アドレスだけを出します。

$ dig example.com MX

メールの送り先(MX レコード)を引きます。ANSWER SECTION に答えが出ます。

$ dig @8.8.8.8 www.example.com

サーバーの設定とは別に、8.8.8.8 の DNS サーバーへ直接聞きます。DNS サーバーごとの答えの違いを調べるときに使います。

$ dig -x 8.8.8.8 +shortdns.google.

IP アドレスから名前を引きます(逆引き)。

$ host www.example.com

host でも名前を引けます。dig より短い出力です。

よくある間違い・注意

  • dig は DNS だけに聞き、/etc/hosts は見ません。/etc/hosts も含めて確かめるなら getent hosts を使います。
  • status: NXDOMAIN はその名前が無い、SERVFAIL は DNS サーバー側の不具合です。
  • command not found なら bind-utils パッケージを入れます。

実際に打って練習する

Linux レベル1 コースの Lv64「DNS の道しるべ dig」で覚えます(第4章 サーバーの守り手(パッケージとサービス))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る