dig — DNS 查詢工具
查詢 DNS 記錄(A、MX、NS、TXT 等),是 DNS 診斷的標準工具。
語法
dig [@伺服器] 網域 [類型] [選項]
常用選項
| 選項 | 說明 | 範例 |
|---|---|---|
@伺服器 |
指定 DNS 伺服器(如 8.8.8.8、1.1.1.1) | dig @8.8.8.8 google.com |
A / AAAA |
查詢 IPv4 / IPv6 位址記錄 | dig google.com A |
MX |
查詢郵件伺服器記錄 | dig example.com MX |
NS |
查詢名稱伺服器記錄 | dig example.com NS |
TXT |
查詢文字記錄(含 SPF、DKIM、驗證記錄) | dig example.com TXT |
CNAME |
查詢別名記錄 | dig www.example.com CNAME |
-x IP |
反向查詢(IP 轉網域名稱) | dig -x 8.8.8.8 |
+short |
只顯示查詢結果(不顯示詳細資訊) | dig +short google.com |
+trace |
追蹤完整的 DNS 解析路徑 | dig +trace example.com |
+noall +answer |
只顯示答案區段 | dig +noall +answer google.com |
使用範例
範例 1:查詢網域的 A 記錄(IP 位址)
最基本用法,查詢網域名稱對應的 IPv4 位址。
$ dig google.com
;; ANSWER SECTION:
google.com. 299 IN A 142.250.185.46
範例 2:簡短格式查詢(只看 IP)
加上 +short 只輸出結果,適合在腳本中使用。
$ dig +short google.com
142.250.185.46
範例 3:指定 DNS 伺服器查詢
使用 Cloudflare(1.1.1.1)DNS 查詢,確認是否 DNS 設定已生效。
$ dig @1.1.1.1 mysite.com A
;; ANSWER SECTION:
mysite.com. 3600 IN A 203.0.113.1
範例 4:查詢 MX 記錄(郵件設定)
查詢網域的郵件交換器設定,常用於驗證郵件伺服器配置。
$ dig example.com MX +short
10 mail1.example.com.
20 mail2.example.com.
範例 5:追蹤 DNS 解析路徑
使用 +trace 顯示從根名稱伺服器到最終答案的完整解析路徑,用於診斷 DNS 傳播問題。
$ dig +trace mysite.com
(從 root NS 開始到最終 NS 的完整查詢路徑)
範例 6:反向查詢(IP → 網域名稱)
查詢 IP 位址對應的網域名稱(PTR 記錄)。
$ dig -x 8.8.8.8 +short
dns.google.
常見錯誤與排錯
dig: command not found
- 原因
- dig 未安裝,在 Debian/Ubuntu 中由 dnsutils 套件提供。
- 解法
- sudo apt install dnsutils(或 bind-utils for CentOS/RHEL)
;; connection timed out; no servers could be reached
- 原因
- DNS 伺服器無法連線,或網路問題。
- 解法
- 指定公開 DNS 測試:dig @8.8.8.8 google.com,確認是否為本地 DNS 問題。