About
digコマンドを理解していなかったので、この機会に基本的な使い方をまとめました。
digとは
domain information groperのこと。ネームサーバから情報を引き出すツール。
基本的な使い方
- ドメイン名に対応するAレコードを取得する
$dig <domain>
; <<>> DiG 9.8.3-P1 <<>> ANY <domain>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29775
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 4
...
;; QUESTION SECTION:
...
;; ANSWER SECTION:
...
;; AUTHORITY SECTION:
...
;; ADDITIONAL SECTION:
...
;; Query time: 31 msec
;; SERVER: 61.122.116.147#53(61.122.116.147)
;; WHEN: Tue Jul 14 15:23:07 2015
;; MSG SIZE rcvd: 285
ヘッダ・フッタを除くと最大で4つのセクションが表示される。QUESTIONが実行した検索内容、ANSWERが検索結果、AUTHORITYがANSWERに権威を持つDNSサーバ(NSレコード)、ADDITIONALは追加情報を示す。
- ドメイン名に対応するNSレコードを取得する
$ dig NS <domain>
$ dig NS google.com
NSの部分に他のタイプを入れれば対応するレコードを確認できる(A/CNAME/ANYなど)
- IPアドレスからドメイン名を取得する(逆引き)
$ dig -x <ipaddress>
- 特定のネームサーバに対してQUERYを発行する
$ dig A <domain> @<name server>
$ dig A google.com @ns2.google.com
応用編
出力結果を短くする
$ dig google.com +short
インストール方法
centos系でdig
を導入しようと思った時、sudo yum install dig
ではインストールできません。
下記のパッケージを指定してインストールします。
$ sudo yum install bind-utils
ちなみにubuntuでは下記のようにインストールするようです。
$ sudo apt-get install dnsutils