DNSはインターネットの基盤ともいえる機能ではないでしょうか?
そこで今回はdigコマンドを使用してゾーン情報を確認する方法をご紹介します。
基本
digコマンドはDNSレコードを確認できるコマンドとなります。
dig ドメイン名
下記は「www.google.com」を確認した際の例となります。
#コマンド
dig www.google.com
#結果
www.google.com. 180 IN A 142.250.206.196
上記「180」はTTLとなります。
「A」はレコードタイプとなります。
「142.250.206.196」はDNSに登録されている値となります。
オプション
digコマンドでレコードタイプを指定する場合は「オプション」を指定する必要があります。
例えば「MX」レコードを検索したい場合は下記の様に指定します。
dig mx ドメイン名
上記のオプションの指定は大文字でも小文字でも指定可能です。
下記代表的なレコードオプションとなります。
オプション | 内容 |
---|---|
A | Aレコード |
AAAA | AAAAレコード |
TXT | TXTレコード |
MX | MXレコード |
CNAME | CNAMEレコード |
NS | NSレコード |
ANY | 全てのレコード |
逆引き
digコマンドではIPアドレスの逆引きも行う事が出来ます。
逆引きを行うには「-x」オプションを指定します。
下記は先程の「www.google.com.」検索にて表示された「142.250.206.196」を逆引き検索した例となります。
#コマンド
dig -x 142.250.206.196
#結果
196.206.250.142.in-addr.arpa. 86400 IN PTR kix07s07-in-f4.1e100.net.
逆引きオプションはその他のレコードタイプ指定とは異なり「小文字」のみでの利用となります。
大文字で指定すると下記の様にエラーとなります。
Invalid option: -X
Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}
{global-d-opt} host [@local-server] {local-d-opt}
[ host [@local-server] {local-d-opt} [...]]
Use "dig -h" (or "dig -h | more") for complete list of options
ネームサーバーを指定する方法
次にネームサーバーを指定し検索する方法についてご紹介します。
下記の様に「@」の後にネームサーバーを指定する事が出来ます。
dig @ネームサーバー ドメイン名
googleのネームサーバーを指定する場合は下記の様になります。
dig @8.8.8.8 www.google.com
短縮表示
短縮表示をお行いたい場合は「+short」オプションを指定します。
短縮を行わない場合は下記の様にヘッダー情報やクエリ情報が表示されます。
#コマンド
dig www.google.com
#結果
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45968
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 296 IN A 142.250.206.196
下記は「+short」オプションを指定した例となります。
#コマンド
dig www.google.com +short
#結果
142.250.206.196
とてもスマートで読みやすくなりました。
シェルなどで利用する場合は「+short」オプションを使用する事をおすすめ致します!