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.14www.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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。