LoginSignup
3
3

More than 3 years have passed since last update.

digコマンドによるDNSサーバの挙動確認

Last updated at Posted at 2019-10-07

はじめに

digコマンドを使ってDNSサーバへ問い合わせた際のメッセージ内容やコマンドの使い方をまとめます。OSはCentos7です。

digのインストール

# yum install bind-utils

フルリゾルバーへのDNS問い合わせ

# dig www.google.com IN A

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.google.com IN A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10632
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     150 IN  A   216.58.197.228

;; Query time: 31 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Oct 04 19:16:47 UTC 2019
;; MSG SIZE  rcvd: 59

HEADER

status 意味
NOERROR 正常応答
SERVFAIL サーバ側での異常による名前解決失敗
NXDOMAIN リソースレコードが存在しない
REFUSED リクエストが拒否された

id:DNSのトランザクションID。問い合わせ時にランダムに生成される

flags 意味
qr 問い合わせが0, 応答が1。上記例では応答なので flags: qr となっている
rd 権威サーバへの問い合わせ(非再帰的問い合わせ)は0, フルリゾルバーへの問い合わせ(再帰的問い合わせ)は1
ra 応答した相手が名前解決処理できる(フルリゾルバーである)場合は1

セクション

セクション 意味(各セクションの有無が0,1で表される)
QUERY 問い合わせ内容(ドメイン、タイプ)のセクション
ANSWER 問い合わせ内容に対するリソースレコードのセクション
AUTHORITY 権威を持っているDNSサーバー情報のセクション
ADDITIONAL

権威サーバへのDNS問い合わせ

yahoo.co.jpを委任されているサーバ(権威サーバ)の確認
# dig yahoo.co.jp NS

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> yahoo.co.jp NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56429
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;yahoo.co.jp.           IN  NS

;; ANSWER SECTION:
yahoo.co.jp.        899 IN  NS  ns02.yahoo.co.jp.
yahoo.co.jp.        899 IN  NS  ns01.yahoo.co.jp.
yahoo.co.jp.        899 IN  NS  ns12.yahoo.co.jp.
yahoo.co.jp.        899 IN  NS  ns11.yahoo.co.jp.

;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Oct 05 01:31:27 UTC 2019
;; MSG SIZE  rcvd: 116


# dig ns01.yahoo.co.jp A

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> ns01.yahoo.co.jp A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43327
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;ns01.yahoo.co.jp.      IN  A

;; ANSWER SECTION:
ns01.yahoo.co.jp.   838 IN  A   118.151.254.133

;; Query time: 170 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Oct 05 01:31:45 UTC 2019
;; MSG SIZE  rcvd: 61
yahoo.co.jpの権威サーバの一つ118.151.254.133に対して直接、非再帰的な問い合わせ(+norec)を行う

;; flags: qr aaのようにAA(Authoritative Answer)ビットがセットされており、応答したサーバ118.151.254.133が問い合わせたドメインの管理権限を持つことがわかる。
また、yahoo.co.jpの権威サーバのNSリソースレコードとAリソースレコードが4つずつセットされている。

# dig +norec @118.151.254.133 yahoo.co.jp

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> +norec @118.151.254.133 yahoo.co.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12964
;; flags: qr aa; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;yahoo.co.jp.           IN  A

;; ANSWER SECTION:
yahoo.co.jp.        300 IN  A   182.22.59.229
yahoo.co.jp.        300 IN  A   183.79.135.206

;; AUTHORITY SECTION:
yahoo.co.jp.        900 IN  NS  ns01.yahoo.co.jp.
yahoo.co.jp.        900 IN  NS  ns11.yahoo.co.jp.
yahoo.co.jp.        900 IN  NS  ns12.yahoo.co.jp.
yahoo.co.jp.        900 IN  NS  ns02.yahoo.co.jp.

;; ADDITIONAL SECTION:
ns01.yahoo.co.jp.   900 IN  A   118.151.254.133
ns02.yahoo.co.jp.   900 IN  A   118.151.254.149
ns11.yahoo.co.jp.   900 IN  A   124.83.255.37
ns12.yahoo.co.jp.   900 IN  A   124.83.255.101

;; Query time: 17 msec
;; SERVER: 118.151.254.133#53(118.151.254.133)
;; WHEN: Sat Oct 05 01:33:53 UTC 2019
;; MSG SIZE  rcvd: 212

権威サーバへ再帰的問い合わせをしてみる

yahoo.co.jpドメインの権威サーバ118.151.254.133に対して、管理外のwww.google.comを再帰的(+norecを付けずに)問い合わせてみる。

以下の通り、status: REFUSEDとリクエストが拒否されて、
flags: qr rdにもraが含まれていないため、応答した相手が名前解決ができないことがわかる。

# dig  @118.151.254.133 www.google.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> @118.151.254.133 www.google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 51205
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.com.            IN  A

;; Query time: 19 msec
;; SERVER: 118.151.254.133#53(118.151.254.133)
;; WHEN: Sat Oct 05 01:41:48 UTC 2019
;; MSG SIZE  rcvd: 43

参考

jprs用語辞典(フルサービスリゾルバー)

DNSの勉強ノート【その3】フルサービスリゾルバとコンテンツサーバ

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3