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 問題。

延伸閱讀