digコマンドについて知る
digコマンドとは
DNSサーバにドメイン情報を問い合わせて、その結果を取得できるコマンドです。
たとえば次にように入力すると知りたいドメインのレコードが取得できます。
$ dig {ネームサーバ名} {ドメイン名} {レコードタイプ}
ただdig以降に入力する引数に指定はないので、好きなように入力しても問題ありません。
自社内のDNSサーバにドメインの設定を追加した際に、設定反映や動作を確認する時に使用します。
レコードとは
対象DNSサーバが管轄しているゾーンファイル(ドメイン名とIPの対応表)の記述内容のことです。
いくつか種類があり、それぞれ意味合いが異なります。
レコード名 | 説明 |
---|---|
A | IPとドメインを結びつける |
ANY | ドメインの全情報が記載されている |
MX | ドメインのメール・エクスチェンジ(メールアドレス)情報 |
CNAME | ドメインを別ドメインに転送する |
NS | ドメインの権限を持っているネーム・サーバ情報 |
SOA | ドメインの権限を持っているDNSサーバとその詳細情報 |
TXT | ドメインと文章を関連づける |
digコマンドを実行
では「google.com」というドメインを例にしてdigコマンドを実行していきます!
まずオプションなしでdigコマンドを実行します。
google.comのAレコード情報が表示されました。
注目するのは次の3点です。
1.;; flags: qr rd ra;
DNSサーバからの応答内容を表しています。
qr=問い合わせた内容に対する回答を意味します。
rd=問い合わせたサーバ以外にも再帰的に問い合わせた回答であることを意味します。
ra=キャッシュサーバが再帰問い合わせを許可しています。
2.;; QUESTION SECTION:
自分がネームサーバに対して問い合わせた内容が表示されます。
今回はオプション無しでdigコマンドを実行したため、Aレコードを問い合わせたことになっています。
3.;; ANSWER SECTION:
ネームサーバに問い合わせた結果が表示されています。
次にgoogle.comのネームサーバを問い合わせてみます。
実行結果は次のとおりです。
flags:の表示結果は先の結果と変わりませんね。
ANSWER SECTIONを見ると、google.comが向いているネームサーバ名が4つ表示されています。
終わりに
いかがでしたでしょうか。
最初実行した時には、コマンドの結果からどういった情報を読み取ればいいのか悩みました。
よく調べて噛み砕いていくと、抵抗がなくなっていきました。
今回紹介していませんが、便利なオプションもたくさんありますので
自由に組み合わせて実行してみようと思っています。