最終更新日 2025年3月5日

本記事の要点
digコマンドの基本構文
dig [オプション] 検索対象のドメイン名(もしくはIPアドレス) [検索タイプ]
digでよく使用するオプション
項目 | 意味 |
---|---|
opcode: QUERY | 問い合わせの種類(通常はQUERY) |
status: NOERROR | 問い合わせの結果(NOERRORなら正常) |
flags | 問い合わせに関するフラグ(qr=応答, rd=再帰, ra=再帰可) |
QUESTION SECTION | 問い合わせたドメイン情報 |
ANSWER SECTION | 問い合わせたドメインの応答(Aレコードなど) |
AUTHORITY SECTION | 権威DNSサーバー情報 |
ADDITIONAL SECTION | 追加情報(例: IPv6アドレス) |
Query time | DNS応答時間(ミリ秒) |
SERVER | 問い合わせたDNSサーバーのアドレス |
WHEN | 問い合わせた日時 |
MSG SIZE rcvd | 受信したメッセージサイズ |
digの出力結果の意味
実行コマンド
dig example.com
出力結果
; <<>> DiG 9.16.1-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 300 IN A 93.184.216.34
;; Query time: 15 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Mar 5 12:34:56 UTC 2025
;; MSG SIZE rcvd: 85
出力結果の各項目の意味
項目 | 意味 |
---|---|
Server | 使用したDNSサーバーのアドレス |
Address | DNSサーバーのIPアドレス |
Non-authoritative answer | 権威のない(キャッシュされた)応答 |
Name | 問い合わせたドメイン名 |
Address | ドメイン名に対応するIPアドレス |
dig コマンドとは?基本概要と用途
dig
コマンド(Domain Information Groper)は、DNS(Domain Name System)の情報を取得するための最も強力なコマンドラインツールです。ネットワーク管理者やエンジニアにとって不可欠なツールであり、ドメイン名のIPアドレス取得、DNSレコードの確認、DNSトラブルシューティングなど幅広い用途で活用されます。
特に、nslookup
よりも詳細な情報を取得できる点が特徴で、DNSの動作確認や設定検証に最適です。本記事では、dig
コマンドの役割やnslookup
との違い、主な用途について詳しく解説します。

digコマンドの役割と特徴
dig
コマンドは、DNSサーバーに問い合わせを行い、応答を詳細に表示するコマンドです。デフォルトではシステムが指定するDNSサーバーを使用しますが、特定のDNSサーバー(Google Public DNS や Cloudflare DNS など)を指定することもできます。
LinuxやMacでは標準で利用でき、WindowsではBINDパッケージを導入することで使用可能です。シンプルなDNSクエリから、詳細なトレース調査まで対応可能なため、ネットワークの問題解析に非常に役立ちます。

先輩、dig
コマンドって何に使うんですか?

DNSの問い合わせ結果を詳細に確認するためのツールだよ。ドメインのIPアドレスを調べたり、DNSレコードの設定が正しく反映されているか確認したりできるんだ。

じゃあ、普段ネットで使っているDNSの情報も取得できるんですか?

そうだね。デフォルトのDNSサーバーだけじゃなくて、Googleの8.8.8.8やCloudflareの1.1.1.1を指定して問い合わせることもできるよ。

nslookupとの違い
nslookup
もDNS情報を取得するコマンドですが、dig
に比べて機能が限定的で、詳細なDNS情報を取得するには適していません。
比較項目 | dig | nslookup |
---|---|---|
詳細なDNS情報の取得 | 可能 | 限定的 |
クエリ結果のカスタマイズ | 多彩なオプションあり | ほぼ不可 |
DNSSEC対応 | 可能 | 不可 |
推奨度 | 高い(DNS管理向け) | 低い(簡易調査向け) |

先輩、nslookup
でもDNS情報を取得できますよね?

確かにできるけど、nslookup
は古いツールで、情報量が少ないし、DNSSECにも対応していないんだ。正確な調査をするなら dig
を使ったほうがいいよ。

つまり、dig
のほうがより詳しく調べられるってことですね?

そういうこと。特にDNSの詳細なトラブルシューティングをするなら dig
一択だね。

digコマンドの主な用途
dig
は、DNSの詳細な情報を取得できるため、以下のような用途で活用されます。
1. ドメイン名のIPアドレスを調査
特定のドメインがどのIPアドレスに紐づいているか確認できます。
dig example.com
2. メールサーバー(MXレコード)の取得
特定のドメインのメールサーバー情報を調査できます。
dig example.com MX
3. DNSレコードの設定確認(A、CNAME、TXT など)
ドメインに設定されている各種DNSレコードを取得し、設定ミスがないか確認できます。
dig example.com TXT
dig example.com CNAME
4. DNSの伝播状況を確認
異なるDNSサーバーを指定し、キャッシュの影響を受けずに最新のレコードを取得できます。
dig @8.8.8.8 example.com
dig @1.1.1.1 example.com
5. DNSSEC(DNSのセキュリティ拡張)の検証
DNSSECが有効かどうかをチェックできます。
dig +dnssec example.com

ドメインのIPアドレスだけじゃなくて、メールサーバーやDNSの設定も確認できるんですね!

そうだよ。しかも特定のDNSサーバーを指定して、最新の情報を取得することもできるから、DNSの伝播状況を調べるのにも便利なんだ。

DNSのトラブルシューティングにも使えますか?

もちろん!例えば、+trace
オプションを使えば、どのDNSサーバーがどのように問い合わせを処理しているかを確認できる。これはDNSの問題を特定するのにすごく役立つんだ。

まとめ
dig
コマンドは、DNSの詳細な情報を取得し、ドメインやネットワークの調査・トラブルシューティングを行うための強力なツールです。nslookup
よりも高度な機能を備え、DNSレコードの設定確認やDNSの問題解析に最適です。
ネットワーク管理をするなら、dig
コマンドの使い方を習得しておくことが必須といえます。本記事で紹介した用途やオプションを活用し、DNSの仕組みを深く理解しながら実践してみてください。
dig コマンドの基本構文とよく使用するオプション
dig
コマンドは、DNSの問い合わせを行うためのコマンドラインツールで、さまざまなオプションを組み合わせることで詳細な情報を取得できます。基本構文はシンプルですが、オプションを活用することで、より実践的な使い方が可能になります。
この章では、dig
コマンドの基本的な使い方と、よく使われるオプション(+short
、+trace
、+nocmd
)について解説します。
digコマンドの基本構文
最も基本的な構文は、以下のようにドメイン名を指定して実行するだけです。
dig example.com
このコマンドを実行すると、デフォルトのDNSサーバーに対して example.com
のAレコード(IPv4アドレス)が問い合わせられます。

先輩、dig
コマンドを使うと何が分かるんですか?

指定したドメインのDNS情報を取得できるよ。デフォルトではAレコード(IPv4アドレス)を返すけど、MX(メールサーバー情報)やTXTレコードも調べられるんだ。

じゃあ、メールサーバーの情報を調べるには?

MX
レコードを指定すればいいよ。例えば、dig example.com MX
でメールサーバーの情報が取得できる。

+short(簡潔な結果表示)
+short
オプションを使うと、余計な情報を省略してシンプルな結果を表示できます。
dig example.com +short
実行結果
93.184.216.XX
通常の dig
コマンドの出力にはヘッダー情報やクエリの詳細が含まれますが、+short
をつけることで必要な情報だけを表示できます。

先輩、dig
の出力って情報が多すぎませんか?

確かに。IPアドレスだけ知りたいなら +short
オプションを使うとスッキリした結果が得られるよ。

簡潔に結果を表示するだけなら、nslookup
でも良くないですか?

それもアリだけど、dig
のほうがより詳細な調査ができるし、スクリプトでの利用もしやすいんだ。
+trace(DNSの流れを追跡)
+trace
オプションを使うと、ルートDNSサーバーから最終的なネームサーバーまでの問い合わせの流れを表示できます。
dig example.com +trace
実行結果
. 518400 IN NS a.root-servers.net.
...
example.com. 172800 IN NS ns1.example.com.
example.com. 172800 IN NS ns2.example.com.
このオプションを使うと、DNSのどのサーバーがどのように名前解決をしているかが分かるため、DNSのトラブルシューティングに役立ちます。

DNSの名前解決の流れを調べる方法ってありますか?

+trace
オプションを使えば、ルートDNSサーバーから順番にどのネームサーバーが応答したかを確認できるよ。

DNSの伝播状況を調べるのにも使えますか?

そうだね。新しく設定したDNSが正しく伝播しているかチェックするのに +trace
は便利だよ。
+nocmd(余計な情報を省略)
+nocmd
オプションを使うと、ヘッダー部分を省略し、クエリの結果だけを表示できます。
dig example.com +nocmd
実行結果
;; ANSWER SECTION:
example.com. 300 IN A 93.184.216.34
このオプションを使うことで、クエリの送信情報や余計なヘッダーを省略し、結果の解析がしやすくなります。

dig
の結果って情報が多すぎて見づらいんですよね…

そういうときは +nocmd
を使うと、ヘッダー情報を省いてスッキリ見やすくなるよ。

+short
とは何が違うんですか?

+short
は本当に必要な情報だけを返すのに対して、+nocmd
はヘッダーを省略するだけで詳細な情報は残るっていう違いがあるよ。
まとめ
dig
コマンドは、DNSの詳細な情報を取得する強力なツールで、オプションを組み合わせることでより便利に活用できます。
+short
→ 簡潔な結果を表示(IPアドレスのみを取得)+trace
→ ルートサーバーからの名前解決の流れを追跡+nocmd
→ 余計なヘッダー情報を省略し、解析しやすくする
これらのオプションを適切に使い分けることで、DNSのトラブルシューティングや調査が効率化できます。dig
をマスターして、よりスムーズにネットワークの問題を解析しましょう!

DNSレコードの取得方法
dig
コマンドを使うことで、ドメインに紐づくさまざまなDNSレコードを取得できます。特定のレコードを調査することで、Webサーバーの設定確認やメールサーバーの情報取得、DNSのトラブルシューティングが可能になります。
以下では、主要なDNSレコードの取得方法について解説します。
- Aレコード(IPv4アドレス)の取得
- AAAAレコード(IPv6アドレス)の取得
- MXレコード(メールサーバー情報)の取得
- TXTレコード(SPF, DKIMなど)の取得
- CNAME, NS, SOAレコードの確認方法
- まとめ
Aレコード(IPv4アドレス)の取得
Aレコードは、ドメイン名に紐づくIPv4アドレスを示すレコードです。WebサイトのサーバーIPを調べる際によく使われます。
基本コマンド
dig example.com A
実行結果
;; ANSWER SECTION:
example.com. 300 IN A 93.184.216.34

先輩、Aレコードって何ですか?

ドメイン名に対応するIPv4アドレスを返すレコードのことだよ。ブラウザがWebサイトを表示する際に、この情報をもとにアクセスするんだ。

dig example.com
だけでもAレコードが取れますよね?

そうだね。でも、特定のレコードを明示的に指定することで、他のレコードと混ざらずに確認できるから、A
をつけるのがオススメだよ。

AAAAレコード(IPv6アドレス)の取得
AAAAレコードは、ドメイン名に紐づくIPv6アドレスを示すレコードです。IPv6を使用するサーバーの確認に必要になります。
基本コマンド
dig example.com AAAA
実行結果
;; ANSWER SECTION:
example.com. 300 IN AAAA 2606:2800:220:1:248:1893:25c8:1946

IPv4のAレコードは知ってるんですが、AAAAレコードは何ですか?

AAAAレコードはIPv6アドレスを返すレコードだよ。最近はIPv6の普及が進んでいるから、サーバーがIPv6に対応しているか確認するのに使うんだ。

IPv6を使っていない場合は、AAAAレコードは取得できないんですか?

その通り。対応していない場合は、ANSWER SECTION
に何も表示されないよ。

MXレコード(メールサーバー情報)の取得
MX(Mail Exchange)レコードは、メールを送受信するためのメールサーバー情報を示すレコードです。メールのトラブルシューティング時に必要になります。
基本コマンド
dig example.com MX
実行結果
;; ANSWER SECTION:
example.com. 600 IN MX 10 mail.example.com.
example.com. 600 IN MX 20 backup-mail.example.com.

メールが届かないとき、MXレコードを確認するといいって聞いたんですが?

そうだね。MXレコードには、ドメイン宛てのメールを受信するサーバーの情報が入っているから、正しく設定されているか確認できるよ。

MXレコードに優先順位の数字が付いているのは何ですか?

それは優先度を表していて、数字が小さいほど優先的に使用されるんだ。例えば、10 mail.example.com
のほうが 20 backup-mail.example.com
より優先される。

TXTレコード(SPF, DKIMなど)の取得
TXTレコードは、ドメインに関するテキスト情報を格納するレコードです。特に、SPFやDKIMなどのメール認証情報として使われます。
基本コマンド
dig example.com TXT
実行結果
;; ANSWER SECTION:
example.com. 300 IN TXT "v=spf1 include:_spf.example.com ~all"

SPFレコードって何ですか?

SPF(Sender Policy Framework)は、メール送信元を認証する仕組みだよ。TXTレコードに設定されていて、不正な送信を防ぐのに使われる。

DKIMとかDMARCもTXTレコードで管理されているんですか?

そうだよ。メールのセキュリティ対策では、SPF、DKIM、DMARCの3つを組み合わせて設定するのが一般的だね。

CNAME, NS, SOAレコードの確認方法
CNAME(別名)レコードの取得
dig example.com CNAME
CNAMEレコードは、ドメインのエイリアスを指定するためのレコードです。
NS(ネームサーバー)レコードの取得
dig example.com NS
NSレコードは、そのドメインの管理を担当するネームサーバーを示します。
SOA(Start of Authority)レコードの取得
dig example.com SOA
SOAレコードは、ゾーン管理に関する情報(プライマリネームサーバーや管理者メールアドレスなど)を含みます。

CNAMEレコードって何のためにあるんですか?

ドメインを別のドメインに紐づけるときに使うんだ。例えば、www.example.com
を example.com
にリダイレクトするときに使えるよ。

NSレコードを調べると何が分かりますか?

そのドメインの管理をしているDNSサーバーが分かる。DNSの設定を確認するときに重要だよ。

まとめ
dig
コマンドを使えば、A、AAAA、MX、TXT、CNAME、NS、SOAなど、あらゆるDNSレコードを取得でき、ネットワークやメールの設定確認、トラブルシューティングに活用できる。適切なレコードを調べて、DNSの仕組みを理解しよう!
特定のDNSサーバーを指定してクエリを実行
dig
コマンドでは、デフォルトのDNSサーバーではなく、特定のDNSサーバーを指定してクエリを実行することが可能です。これにより、DNSの伝播状況を確認したり、異なるDNSサーバーの応答を比較したりできます。
例えば、Google Public DNS(8.8.8.8)やCloudflare DNS(1.1.1.1)を指定することで、キャッシュの影響を受けない最新の情報を取得することができます。また、社内ネットワークのDNSを直接問い合わせることで、内部ドメインの解析も可能になります。
以下では、特定のDNSサーバーを指定する方法について詳しく解説します。
公開DNS(Google DNS, Cloudflare DNS, OpenDNS)を利用する
Google Public DNS、Cloudflare DNS、OpenDNSなどの公開DNSサーバーを指定してクエリを実行することで、特定のプロバイダのDNS情報を取得できます。これは、DNSの伝播状況やキャッシュの影響を確認する際に役立ちます。
基本コマンド(Google DNS を指定)
dig @8.8.8.8 example.com
主要な公開DNS一覧
DNSプロバイダ | IPアドレス |
---|---|
Google Public DNS | 8.8.8.8 / 8.8.4.4 |
Cloudflare DNS | 1.1.1.1 / 1.0.0.1 |
OpenDNS | 208.67.222.222 / 208.67.220.220 |

先輩、GoogleのDNSを指定して dig
する意味って何ですか?

ISPのDNSサーバーはキャッシュを持っていることが多いから、最新の情報を知るにはGoogleやCloudflareのDNSに直接問い合わせるのがいいんだ。

Cloudflare DNSの 1.1.1.1
ってよく聞くんですが、どんな特徴があるんですか?

Cloudflareはプライバシーに配慮した高速なDNSを提供しているよ。Google Public DNSと同じように使えるけど、個人情報のログを最小限にするのが特徴だね。

内部DNSサーバーを指定して問い合わせる
社内ネットワークや閉じた環境でDNSを運用している場合、内部DNSサーバーを指定して直接クエリを実行することが可能です。これにより、イントラネット上のドメインや、VPN接続時の内部リソースの解析が可能になります。
基本コマンド(内部DNSサーバーを指定)
dig @192.168.1.1 internal.example.com

外部のDNSじゃなくて、社内のDNSサーバーを使いたい場合はどうすればいいですか?

@
の後に社内のDNSサーバーのIPアドレスを指定すればいいよ。 例えば @192.168.1.1
ってすれば、社内DNSに直接問い合わせられる。

VPNで社内ネットワークに繋いでいるときに dig
すると、名前解決ができないことがあるんですが?

それはVPN接続時のDNS設定が正しくない可能性があるね。dig @社内DNS サーバー名
で直接問い合わせて、内部ドメインが解決できるか試してみるといいよ。

@を使った特定サーバーへの問い合わせ
dig
コマンドでは、@
の後にDNSサーバーを指定することで、問い合わせ先を自由に変更できます。これを利用すると、特定のネームサーバーや異なるプロバイダのDNSを比較することが可能です。
基本コマンド(特定のネームサーバーを指定)
dig @ns1.example.com example.com
このコマンドを実行すると、ns1.example.com
というネームサーバーに対して example.com
の情報を直接問い合わせることができます。

あるドメインの正しい情報を知りたいとき、どのDNSに問い合わせればいいんですか?

そのドメインのNS(ネームサーバー)に直接問い合わせるのが一番確実だよ。 まず dig example.com NS
でネームサーバーを調べて、それを @
で指定するといい。

でも、ネームサーバーに問い合わせるときって、いつも応答があるわけじゃないですよね?

ネームサーバーはレートリミットをかけていることがあるから、何度も連続で問い合わせるのは避けたほうがいいね。 もし応答がないなら、他のDNSを試してみるのも手だよ。

まとめ
dig
コマンドを使って、特定のDNSサーバーを指定することで、より正確なDNS情報を取得できます。
- 公開DNS(Google, Cloudflare, OpenDNS)を指定することで、最新のDNS情報を確認できる。
- 内部DNSサーバーに問い合わせることで、社内ネットワークのドメインを解析できる。
@
を使って特定のネームサーバーに直接問い合わせることで、より正確な情報を取得できる。
DNSの仕組みを理解し、適切なサーバーを指定することで、トラブルシューティングやDNS設定の確認がスムーズになります。
詳細な情報を取得する高度な使い方
dig
コマンドには、詳細なDNS情報を取得するための高度なオプションが用意されています。特に、DNSの名前解決の流れを追跡したり、DNSSECのセキュリティ設定を確認したり、出力フォーマットを整えて見やすくするためのオプションが便利です。
ここでは、+trace
、+dnssec
、+multiline
の3つのオプションについて詳しく解説します。
+traceを使ってドメインのネームサーバーの流れを追跡
+trace
オプションを使うと、DNSの名前解決の流れを追跡することができます。これは、ルートネームサーバーから順にどのDNSサーバーがどのように応答しているかを確認するのに便利です。DNSの伝播状況やネームサーバーの動作を調べる際に役立ちます。
基本コマンド
dig +trace example.com
実行結果(抜粋)
. 518400 IN NS a.root-servers.net.
...
example.com. 172800 IN NS ns1.example.com.
example.com. 172800 IN NS ns2.example.com.

先輩、dig +trace
って何に使うんですか?

DNSの名前解決の過程を確認するために使うんだ。 例えば、ルートDNSサーバーからTLD(.com など)、そして最終的なネームサーバーまで、どのように問い合わせが進んでいるかが分かるよ。

ネームサーバーの設定変更をした後に使うと便利そうですね?

その通り。DNSの設定変更が反映されているか確認するのに +trace
は役立つよ。キャッシュを無視して最新の情報を取得できるからね。

+dnssecを使用したDNSSEC対応のチェック
DNSSEC(DNS Security Extensions)は、DNSの改ざんを防ぐためのセキュリティ拡張機能です。+dnssec
オプションを使うと、DNSSECに対応しているかどうかを確認できます。
基本コマンド
dig example.com +dnssec
実行結果(抜粋)
example.com. 86400 IN RRSIG A 5 3 86400 ...
example.com. 86400 IN DNSKEY 257 3 8 ...

先輩、DNSSECって何のためにあるんですか?

DNSの改ざんを防ぐための仕組みだよ。悪意のある攻撃者が偽のDNS応答を送るのを防ぐのに役立つ。

dig +dnssec
を使うと何が分かるんですか?

そのドメインがDNSSECに対応しているか、電子署名付きのレコードがあるかを確認できるよ。

DNSSECが設定されていないとどうなりますか?

DNSSEC関連のレコードが返ってこない。つまり、DNSSECの署名検証ができないから、DNSのセキュリティが弱い状態になるね。

+multilineで見やすい出力形式に変更
dig
の出力はデフォルトでは1行で表示されることが多く、内容が見づらいことがあります。+multiline
オプションを使うと、出力を整形して可読性を向上させることができます。
基本コマンド
dig example.com +multiline
実行結果(抜粋)
example.com. 3600 IN MX 10 mail.example.com.
3600 IN MX 20 backup.example.com.

dig
の出力って長くて見づらいんですが、もっと見やすくする方法はありますか?

+multiline
を使うと、改行やスペースが適切に整えられて見やすくなるよ。

特にどんな場面で使うと便利ですか?

TXTレコードやDNSKEYのように長い文字列を含むレコードを調べるときに便利だよ。標準の出力だと1行で詰まっていて見づらいからね。

まとめ
dig
コマンドの高度なオプションを活用することで、DNSの動作確認やセキュリティ設定のチェックをより効率的に行うことが可能になります。
+trace
→ ルートネームサーバーからの名前解決の流れを追跡+dnssec
→ DNSSECが設定されているかを確認+multiline
→ 出力を整形して見やすくする
DNSの設定やトラブルシューティングを行う際に、これらのオプションを適切に活用しよう!
dig コマンドの出力結果と各項目の説明
dig
コマンドの出力には、DNSクエリの詳細情報が含まれています。以下の表では、dig example.com
の出力例と、それぞれの項目の意味を分かりやすく解説します。
digの出力結果
実行コマンド
$ dig example.com
出力結果
; <<>> DiG 9.16.1 <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 300 IN A 93.184.216.34
;; Query time: 12 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Feb 20 12:34:56 UTC 2024
;; MSG SIZE rcvd: 56
digの出力結果の項目と説明
項目 | 出力例 | 説明 |
---|---|---|
コマンドのバージョン情報 | ; <<>> DiG 9.16.1 <<>> example.com | 実行した dig コマンドのバージョンとクエリ対象のドメイン名 |
グローバルオプション | ;; global options: +cmd | dig に指定されたグローバルオプション(特定の設定やカスタマイズ) |
HEADER セクション | ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345 | クエリの基本情報。status: NOERROR は成功、SERVFAIL や NXDOMAIN ならエラー |
QUESTION セクション | ;example.com. IN A | ユーザーが問い合わせた内容。ここでは example.com の Aレコード(IPv4アドレス)を取得 |
ANSWER セクション | example.com. 300 IN A 93.184.216.34 | DNSの応答(取得した情報)。この場合、example.com のIPアドレスが 93.184.216.34 で、TTL(有効期限)は 300秒 |
Query time | ;; Query time: 12 msec | DNSサーバーへの問い合わせにかかった時間(12ミリ秒) |
使用したDNSサーバー | ;; SERVER: 8.8.8.8#53(8.8.8.8) | クエリに応答したDNSサーバー(この場合、Google Public DNS 8.8.8.8) |
クエリ実行日時 | ;; WHEN: Tue Feb 20 12:34:56 UTC 2024 | クエリを実行した日時(UTC) |
メッセージサイズ | ;; MSG SIZE rcvd: 56 | dig の応答メッセージのサイズ(バイト単位) |

補足 重要な項目の詳細
1. HEADER セクション
の status
値と意味
dig
の結果に表示される status
の値によって、クエリの成功・失敗を判別できます。
status | 意味 |
---|---|
NOERROR | 正常に応答が返ってきた(成功) |
NXDOMAIN | 指定したドメインが存在しない |
SERVFAIL | DNSサーバーがエラーを返した |
REFUSED | DNSサーバーが問い合わせを拒否した |
TIMEOUT | DNSサーバーからの応答がなかった |

SERVFAIL
って出たんですが、これは何が問題なんですか?

DNSサーバーが適切な応答を返せなかったときに SERVFAIL
になるよ。サーバーが落ちているか、設定ミスの可能性があるね。
2. ANSWER セクション
の各フィールドの意味
ANSWER SECTION
には、DNSサーバーから返された情報が表示されます。
フィールド | 説明 | 例 |
---|---|---|
ドメイン名 | 問い合わせたドメイン名 | example.com. |
TTL(Time to Live) | レコードの有効期限(秒) | 300 |
クラス | 通常は IN(インターネット) | IN |
レコードタイプ | 取得したDNSレコードの種類 | A(IPv4アドレス) |
データ | 実際の情報(IPアドレスなど) | 93.184.216.34 |

TTL(有効期限)が 300
って何ですか?

DNSサーバーが適切な応答を返せなかったときに SERVFAIL
になるよ。サーバーが落ちているか、設定ミスTTL は、そのDNS情報がキャッシュとして保持される時間(秒)だよ。300なら、5分後に再取得される可能性がある。の可能性があるね。
実践!dig を使ったトラブルシューティング
dig
は、ネットワークやDNSのトラブルシューティングに非常に有効なツールです。適切なコマンドを使うことで、ネットワーク障害や設定ミス、ドメイン移行時の問題を迅速に特定できます。

ネットワーク障害の調査
インターネットに接続できない場合、DNSの応答が正しく返ってきているかを確認することで、ネットワーク障害の原因を特定できます。
基本コマンド
dig google.com

TTL(有効期限)Webサイトにアクセスできないとき、dig
で何を調べればいいですか?が 300
って何ですか?

まずは dig
でDNSの応答が正常か確認しよう。Aレコードが返ってこないなら、DNSの設定に問題があるかもしれない。
DNS設定ミスの検出
DNSの設定変更後に、正しく適用されているかを確認するために dig
を使うことができます。複数のDNSサーバーを指定して問い合わせることで、設定の反映状況をチェックできます。
基本コマンド
dig @8.8.8.8 example.com
dig @1.1.1.1 example.com

DNSの設定を変えたのに反映されません…

プロバイダのDNSキャッシュの影響を受けている可能性がある。Google DNSやCloudflare DNSに直接問い合わせてみよう。
ドメイン移行時のDNSチェック
ドメインを別のサーバーに移行した場合、ネームサーバーが正しく設定されているか確認することが重要です。
基本コマンド
dig example.com NS

ドメイン移行後に正しく動作しているか確認する方法は?

dig NS example.com
でネームサーバーを確認し、新しいサーバーが正しく反映されているかをチェックするといいよ。

ゴリタン
インフラエンジニアとして、ネットワークとサーバーの運用・保守・構築・設計に幅広く携わり、
現在は大規模政府公共データの移行プロジェクトを担当。
CCNPやLPICレベル3、AWSセキュリティスペシャリストなどの資格を保有しています。