dig 指令:Linux DNS 查詢與 +short、+trace 輸出解讀

測試環境RHEL 系列AlmaLinux 9.8dig 9.16root 帳號Debian 12 · dig 9.18 一般帳號2026-11-04 確認
網路指令dig位置/usr/bin/dig

想確認網域的 DNS 記錄,連 DNS 伺服器的回應標頭都原樣看到時,就用 dig 指令。在 AlmaLinux 9 與 Debian 12 伺服器上依類型查詢 example.com 的記錄,並更換所詢問的 DNS 伺服器後發現,只看回應標頭的 status 和 flags,就能分辨名稱不存在、DNS 伺服器無法給出答案,以及由管理記錄的伺服器直接回答這三種情況。

以下輸出是在 AlmaLinux 9.8 伺服器(root 帳號)與 Debian 12 伺服器(一般帳號)上執行的結果。伺服器設定的 DNS 伺服器位址已換成範例值 192.0.2.53,dig 的版本號碼也換成了範例值。

1️⃣ dig 指令用法

  • ↪️ 解讀預設輸出

基本形式是 [dig @伺服器 名稱 類型],伺服器和類型可以省略。依官方手冊,不寫伺服器時會詢問 /etc/resolv.conf 中設定的 DNS 伺服器,不寫類型時會查詢 A 記錄。

dig example.com
; <<>> DiG 9.16.20-RH <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62441
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
example.com.		62	IN	A	104.20.23.154
example.com.		62	IN	A	172.66.147.243

;; Query time: 1 msec
;; SERVER: 192.0.2.53#53(192.0.2.53)
;; WHEN: Thu Oct 29 00:09:18 UTC 2026
;; MSG SIZE  rcvd: 72

以分號開頭的行是說明行,沒有分號的行才是實際收到的記錄。各區段要看的內容如下。

輸出查看的資訊
; <<>> DiG 9.16.20-RH <<>> example.com執行的 dig 版本與輸入的引數
->>HEADER<<- … status: NOERROR, id: 62441回應碼(status)與查詢編號(id)
flags: qr rd ra回應標頭的旗標 — 回應的伺服器是否做了遞迴查詢、是否為管理記錄的伺服器
QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1各區段的記錄數
OPT PSEUDOSECTION · EDNS … udp: 4096EDNS 擴充資訊與可經 UDP 接收的回應大小(位元組)
QUESTION SECTION送出的問題 — 名稱、類別(IN)、記錄類型
ANSWER SECTION收到的記錄 — 依序為名稱、TTL(秒)、類別、類型、值
Query time: 1 msec收到回應所花的時間
SERVER: 192.0.2.53#53(192.0.2.53)回應的 DNS 伺服器位址與連接埠號碼
WHEN · MSG SIZE rcvd: 72查詢時間與收到的回應大小(位元組)

flags 行的 qr 表示回應,rd 表示要求遞迴查詢,ra 表示支援遞迴查詢(RFC 1035)。只有 ra 而沒有 aa,表示這個回應不是由管理記錄的伺服器送出,而是由執行遞迴查詢的 DNS 伺服器送出。

ANSWER 區段的 62 是 TTL,也就是這筆記錄還能留在快取中的剩餘時間(秒)。緊接著向 8.8.8.8 查詢同一名稱時得到 300,可見數字會因各 DNS 伺服器存入快取的時間點而不同。

若改用 nslookup 指令做同樣的查詢,回應碼和 TTL 就不會出現在預設輸出中。兩個指令的輸出差異如下。

比較dignslookup
回應碼一律出現在 HEADER 行的 status只有出錯時以 server can't find 行出現
TTL出現在 ANSWER 的每一筆記錄行要加 -debug 才會出現
回應的 DNS 伺服器最下方的 SERVER 行最上方的 Server · Address 行
NXDOMAIN 的結束碼01

已安裝的 dig 版本用 -v 確認。AlmaLinux 9 伺服器是 9.16,Debian 12 伺服器是 9.18。

dig -v
DiG 9.16.20-RH

2️⃣ 用 dig 查詢記錄

  • ↪️ A, AAAA, MX, NS, TXT, CNAME, SOA

在名稱後面寫上記錄類型,就只查詢該記錄。各類型存放的值與本文的查詢結果如下。

類型存放的值查詢結果
AIPv4 位址example.com → 104.20.23.154 等 2 筆
AAAAIPv6 位址example.com → 2606:4700:10::6814:179a 等 2 筆
MX郵件伺服器與優先順序example.com → 0 . (不收郵件)
NS管理記錄的名稱伺服器example.com → hera · elliott.ns.cloudflare.com.
TXT沒有固定格式的文字值(SPF 等)example.com → v=spf1 -all 等 2 筆
CNAME其他名稱的別名www.github.com → github.com.
SOA區域的主要名稱伺服器與時間值example.com → elliott.ns.cloudflare.com. …
PTRIP 位址對應的名稱(反向)-x 8.8.8.8 → dns.google.

郵件伺服器用 MX 記錄確認。查詢 example.com 的 MX 時,ANSWER 區段只出現一行 [0 .]。

dig example.com MX
; <<>> DiG 9.16.20-RH <<>> example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34433
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.			IN	MX

;; ANSWER SECTION:
example.com.		300	IN	MX	0 .

;; Query time: 5 msec
;; SERVER: 192.0.2.53#53(192.0.2.53)
;; WHEN: Thu Oct 29 00:09:23 UTC 2026
;; MSG SIZE  rcvd: 55

0 是優先順序,在郵件伺服器名稱位置只有一個點的 MX 稱為 Null MX,表示這個網域不收郵件(RFC 7505)。類型用小寫 mx 也得到相同結果。

只想看記錄行時,加上 [+noall +answer]。依官方手冊,+noall 會關閉所有輸出區段,+answer 則只重新開啟 ANSWER 區段。

dig example.com NS +noall +answer
example.com.		12192	IN	NS	hera.ns.cloudflare.com.
example.com.		12192	IN	NS	elliott.ns.cloudflare.com.

example.com 有兩台名稱伺服器。這兩台就是直接管理 example.com 記錄的權威名稱伺服器。

dig example.com TXT +noall +answer
example.com.		300	IN	TXT	"v=spf1 -all"
example.com.		300	IN	TXT	"_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"

TXT 記錄可以放沒有固定格式的文字值。v=spf1 -all 是表示沒有任何伺服器可以用這個網域名稱寄信的 SPF 值。

dig www.github.com CNAME +noall +answer
www.github.com.		291	IN	CNAME	github.com.

www.github.com 是 github.com 的別名(CNAME)。不寫類型查詢同一名稱時,CNAME 行之後接著出現 github.com 的 A 記錄。

SOA 記錄加上 +multiline 後,每個數字旁都會附上名稱與時間的註解,比較好讀。

dig example.com SOA +multiline +noall +answer
example.com.		1765 IN	SOA elliott.ns.cloudflare.com. dns.cloudflare.com. (
				2418004112 ; serial
				10000      ; refresh (2 hours 46 minutes 40 seconds)
				2400       ; retry (40 minutes)
				604800     ; expire (1 week)
				1800       ; minimum (30 minutes)
				)

serial 是每次修改記錄就會遞增的序號,refresh、retry、expire 是次要名稱伺服器與主要伺服器同步記錄時使用的時間值。minimum 是不存在的名稱或記錄之回應可留在快取中的時間。

只需要值時,加上 +short。A 記錄只剩 IP 位址,MX 只剩優先順序與郵件伺服器名稱。

dig +short example.com
172.66.147.243
104.20.23.154
dig google.com MX +short
10 smtp.google.com.

在 [+noall +answer] 後面再加 +stats,會一併顯示查詢時間與回應伺服器的行。Debian 12 伺服器的 dig 9.18 在 SERVER 行末尾加上了送出查詢的方式 (UDP),AlmaLinux 9 伺服器的 dig 9.16 則沒有這個標示。

dig example.com +noall +answer +stats
example.com.		235	IN	A	172.66.147.243
example.com.		235	IN	A	104.20.23.154
;; Query time: 0 msec
;; SERVER: 192.0.2.53#53(192.0.2.53) (UDP)
;; WHEN: Thu Oct 29 00:10:26 UTC 2026
;; MSG SIZE  rcvd: 72

3️⃣ dig 指定 DNS 伺服器與反向查詢

  • ↪️ @伺服器、aa、-x

在名稱前寫上 @ 和 DNS 伺服器,就會改問該伺服器,而不是伺服器上設定的 DNS 伺服器。詢問 8.8.8.8 時,SERVER 行變成 8.8.8.8,flags 多了 ad。

dig @8.8.8.8 example.com
; <<>> DiG 9.16.20-RH <<>> @8.8.8.8 example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61431
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
example.com.		300	IN	A	104.20.23.154
example.com.		300	IN	A	172.66.147.243

;; Query time: 30 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 29 00:09:29 UTC 2026
;; MSG SIZE  rcvd: 72

ad 是表示回應的伺服器已驗證 DNSSEC 簽章、判斷回應中的記錄可信的旗標(RFC 4035)。伺服器上設定的 DNS 伺服器的回應中沒有 ad。

把 NS 查詢得到的名稱伺服器寫在 @ 後面,就是直接詢問管理 example.com 記錄的伺服器。

dig @elliott.ns.cloudflare.com example.com
; <<>> DiG 9.16.20-RH <<>> @elliott.ns.cloudflare.com example.com
; (6 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61828
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;example.com.			IN	A

;; ANSWER SECTION:
example.com.		300	IN	A	172.66.147.243
example.com.		300	IN	A	104.20.23.154

;; Query time: 4 msec
;; SERVER: 2606:4700:58::a29f:2ce4#53(2606:4700:58::a29f:2ce4)
;; WHEN: Thu Oct 29 00:09:29 UTC 2026
;; MSG SIZE  rcvd: 72

這次 flags 出現了 aa,可以確認是權威名稱伺服器直接回答。這台伺服器不支援經由其他伺服器尋找名稱的遞迴查詢,所以 ra 不見了,並多了 [WARNING: recursion requested but not available] 這一行。

(6 servers found) 表示名稱伺服器的名稱解析成三個 IPv4 位址和三個 IPv6 位址。SERVER 行顯示的是其中送出答案的 IPv6 位址。

在 -x 後面寫上 IP 位址,就會查詢 PTR 記錄,找出該位址對應的名稱。

dig -x 8.8.8.8 +noall +answer
8.8.8.8.in-addr.arpa.	300	IN	PTR	dns.google.

dig 查詢的是把 8.8.8.8 倒過來寫再加上 in-addr.arpa 的名稱,得到的 PTR 值 dns.google. 就是 8.8.8.8 的名稱。

4️⃣ dig +trace 委派路徑

  • ↪️ 從根名稱伺服器到 example.com 的名稱伺服器

加上 +trace 後,dig 會從根名稱伺服器開始依序詢問,逐步輸出名稱被委派給哪一台伺服器。依官方手冊,+trace 也會要求 DNSSEC 簽章行,所以另外加了 +nodnssec,只看委派路徑。

dig +trace +nodnssec example.com
; <<>> DiG 9.16.20-RH <<>> +trace +nodnssec example.com
;; global options: +cmd
.			86333	IN	NS	j.root-servers.net.
.			86333	IN	NS	g.root-servers.net.
.			86333	IN	NS	b.root-servers.net.
.			86333	IN	NS	e.root-servers.net.
.			86333	IN	NS	k.root-servers.net.
.			86333	IN	NS	f.root-servers.net.
.			86333	IN	NS	l.root-servers.net.
.			86333	IN	NS	m.root-servers.net.
.			86333	IN	NS	h.root-servers.net.
.			86333	IN	NS	c.root-servers.net.
.			86333	IN	NS	d.root-servers.net.
.			86333	IN	NS	a.root-servers.net.
.			86333	IN	NS	i.root-servers.net.
;; Received 239 bytes from 192.0.2.53#53(192.0.2.53) in 1 ms

com.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
com.			172800	IN	NS	d.gtld-servers.net.
com.			172800	IN	NS	e.gtld-servers.net.
com.			172800	IN	NS	f.gtld-servers.net.
com.			172800	IN	NS	g.gtld-servers.net.
com.			172800	IN	NS	h.gtld-servers.net.
com.			172800	IN	NS	i.gtld-servers.net.
com.			172800	IN	NS	j.gtld-servers.net.
com.			172800	IN	NS	k.gtld-servers.net.
com.			172800	IN	NS	l.gtld-servers.net.
com.			172800	IN	NS	m.gtld-servers.net.
;; Received 836 bytes from 2001:7fd::1#53(k.root-servers.net) in 30 ms

example.com.		172800	IN	NS	hera.ns.cloudflare.com.
example.com.		172800	IN	NS	elliott.ns.cloudflare.com.
;; Received 359 bytes from 2001:503:d414::30#53(f.gtld-servers.net) in 66 ms

example.com.		300	IN	A	104.20.23.154
example.com.		300	IN	A	172.66.147.243
;; Received 72 bytes from 108.162.195.228#53(elliott.ns.cloudflare.com) in 3 ms

每個步驟最後的 [Received … from] 行會顯示送出該回應的伺服器。四個步驟中詢問的伺服器與收到的內容如下。

等級詢問的伺服器收到的內容
1伺服器上設定的 DNS 伺服器(192.0.2.53)根(.)名稱伺服器 13 台
2k.root-servers.net.com 名稱伺服器 13 台(gtld-servers.net)
3f.gtld-servers.netexample.com 名稱伺服器 2 台
4elliott.ns.cloudflare.comexample.com 的 A 記錄 2 筆

+trace 的輸出就像掛號信的貨態追蹤紀錄。

最後一步的 A 記錄是 example.com 的名稱伺服器直接送出的值,因此是沒有經過快取的最新值。剛更換名稱伺服器時,先在第 3 步確認 .com 伺服器是否已回應新的名稱伺服器。

5️⃣ dig 回應錯誤與選項

  • ↪️ NXDOMAIN, SERVFAIL, connection timed out

🔲 回應錯誤

查詢不存在的名稱時,status 會顯示 NXDOMAIN。.invalid 是保留起來不會實際使用的頂級網域,因此用來確認這個回應。

dig example.invalid
; <<>> DiG 9.16.20-RH <<>> example.invalid
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23779
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.invalid.		IN	A

;; AUTHORITY SECTION:
invalid.		10800	IN	SOA	localhost. nobody.invalid. 1 3600 1200 604800 10800

;; Query time: 1 msec
;; SERVER: 192.0.2.53#53(192.0.2.53)
;; WHEN: Thu Oct 29 00:09:33 UTC 2026
;; MSG SIZE  rcvd: 96

ANSWER 為 0,AUTHORITY 區段中有該區域的 SOA 記錄。SOA 最後的數字 10800 是這個回應可留在快取中的時間(秒)。

no-such-host.example.com 不是以 NXDOMAIN 結束,而是 status 為 NOERROR、ANSWER 為 0。這是沒有錯誤碼、只是沒有記錄的回應,所以要同時確認 status 和 ANSWER 數。

dig no-such-host.example.com
; <<>> DiG 9.16.20-RH <<>> no-such-host.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31671
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;no-such-host.example.com.	IN	A

;; AUTHORITY SECTION:
example.com.		1800	IN	SOA	elliott.ns.cloudflare.com. dns.cloudflare.com. 2418004112 10000 2400 604800 1800

;; Query time: 7 msec
;; SERVER: 192.0.2.53#53(192.0.2.53)
;; WHEN: Thu Oct 29 00:09:33 UTC 2026
;; MSG SIZE  rcvd: 115

SERVFAIL 是表示 DNS 伺服器無法產生答案的回應碼(RFC 1035)。向 8.8.8.8 查詢用來測試 DNSSEC 驗證失敗的公開網域 dnssec-failed.org 時,出現了 SERVFAIL 以及 EDE 行。

dig @8.8.8.8 dnssec-failed.org
; <<>> DiG 9.16.20-RH <<>> @8.8.8.8 dnssec-failed.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 57521
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; EDE: 9 (DNSKEY Missing): (No DNSKEY matches DS RRs of dnssec-failed.org)
;; QUESTION SECTION:
;dnssec-failed.org.		IN	A

;; Query time: 333 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 29 00:09:41 UTC 2026
;; MSG SIZE  rcvd: 97

EDE 是補充錯誤原因的延伸錯誤碼(RFC 8914)。9 (DNSKEY Missing) 表示找不到與上層區域 DS 記錄相符的 DNSKEY,8.8.8.8 對無法驗證簽章的名稱回傳 SERVFAIL,而不是位址。

DNS 伺服器沒有回應時,輸出會在沒有 status 行的情況下以 [connection timed out; no servers could be reached] 結束。以 [+timeout=2 +tries=1] 詢問文件範例用位址 192.0.2.1 時,2 秒後出現了這一行。

dig @192.0.2.1 example.com +timeout=2 +tries=1
; <<>> DiG 9.16.20-RH <<>> @192.0.2.1 example.com +timeout=2 +tries=1
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

不加選項詢問同一位址時,15 秒後出現同一行。這是因為官方手冊的預設值是每個回應等 5 秒、嘗試 3 次。Debian 12 伺服器的 dig 9.18 先出現 [communications error to 192.0.2.1#53: timed out] 行,最後一行是 [no servers could be reached]。

在指令稿中依結束碼區分結果時,要考慮 NXDOMAIN 也是 0。用 +short 查詢 example.invalid 後輸出結束碼,得到空結果和 0;沒有回應的 192.0.2.1 查詢則是 9。

dig +short example.invalid; echo $?
0

各種回應錯誤在輸出中要看的行與接下來要確認的事項如下。

輸出說明接下來要確認的項目
status: NXDOMAIN該名稱不存在網域的拼寫與註冊狀態、用 +trace 看委派路徑
status: NOERROR · ANSWER: 0回應中沒有該類型的記錄記錄類型與名稱伺服器的記錄設定
status: SERVFAILDNS 伺服器無法產生答案EDE 行、其他 DNS 伺服器(@8.8.8.8 · @1.1.1.1)的回應
connection timed outDNS 伺服器沒有回應DNS 伺服器位址與擋住 53 號連接埠的防火牆

🔲 dig 指令選項

📌 主要選項:本文實際執行的結果

選項作用本文看到的結果
@伺服器改問指定的伺服器,而不是伺服器上設定的 DNS 伺服器@8.8.8.8 時 SERVER 行變成 8.8.8.8、flags 多了 ad,詢問權威名稱伺服器時出現 aa
類型只查詢名稱後面寫的記錄類型example.com MX 得到一行 [0 .],小寫 mx 也是相同結果
-x 位址查詢 IP 位址的 PTR 記錄-x 8.8.8.8 得到 dns.google.
-v輸出版本AlmaLinux 9 伺服器是 9.16,Debian 12 伺服器是 9.18
-r不讀取家目錄中的 .digrc即使 .digrc 中寫了 +short,加上 -r 後記錄行仍完整出現
+short只輸出記錄的值A 得到兩個 IP 位址,google.com MX 得到 10 smtp.google.com.
+noall +answer關閉所有輸出區段,只重新開啟 ANSWERexample.com NS 只剩兩行名稱伺服器
+multiline把 SOA 等較長的記錄分成多行並附上註解serial、refresh 等名稱與時間以註解附在每個數字旁
+stats一併輸出查詢時間與回應伺服器的行Debian 12 伺服器的 dig 9.18 在 SERVER 行末尾出現 (UDP)
+trace從根名稱伺服器依序詢問並輸出委派路徑四個步驟中每一步最後的 [Received … from] 行都會顯示回應的伺服器
+nodnssec不要求 DNSSEC 簽章記錄與 +trace 一起使用,只留下委派路徑
+timeout=秒等待單一回應的時間,預設 5 秒以 +timeout=2 +tries=1 詢問 192.0.2.1 時 2 秒後出現 [connection timed out],不加選項則是 15 秒
+tries=次數送出查詢的次數,預設 3 次與 +timeout=2 一起設為 1 時,只詢問一次,2 秒後結束
+tcp改用 TCP 而不是 UDP 送出查詢Debian 12 伺服器的 dig 9.18 中 SERVER 行末尾從 (UDP) 變成 (TCP),記錄相同

📎 其他選項:依官方手冊

選項作用
-4只用 IPv4 查詢
-6只用 IPv6 查詢
-t 類型指定要查詢的記錄類型
-q 名稱指定要查詢的名稱,避免與其他引數混淆時使用
-p 連接埠改用指定的連接埠查詢,而不是 53 號
-b 位址指定送出查詢的來源 IP 位址
-f 檔案依序執行檔案中每行寫一筆的查詢
+norecurse關閉遞迴查詢要求(RD)後查詢
+dnssec一併要求 DNSSEC 記錄
+nssearch找出權威名稱伺服器,輸出每台伺服器持有的 SOA 記錄
+nocmd輸出時省略開頭的版本與選項說明行
+nocomments輸出時省略回應標頭與區段名稱等說明行
+ttlunits以 s、m、h、d、w 單位輸出 TTL
+retry=次數不含第一次查詢的重送次數,預設 2

🔲 dig 指令模擬器

在下方模擬器中,可以切換記錄類型、DNS 伺服器和輸出選項,親自輸入 dig 試試看。

dig 指令模擬器dig 9.16
[root@server work]#
只在瀏覽器內運作,回應來自存放實際查詢值的虛擬 DNS,按 ↑↓ 可以叫出先前輸入的指令。

🔢 FAQ & 推薦內容

在確認的兩台伺服器上,dig 位於 AlmaLinux 9 的 bind-utils 套件與 Debian 12 的 bind9-dnsutils 套件中。所以 RHEL 系列用 [sudo dnf install bind-utils],Debian 系列用 [sudo apt install bind9-dnsutils] 安裝。兩個套件都會一併安裝 nslookup。

依官方手冊,dig 會先讀取家目錄中 .digrc 檔案寫的選項,並在命令列引數之前套用。在 .digrc 寫入一行 +short 後執行 [dig example.com],只出現 IP 位址;加上 -r 則不讀取 .digrc,記錄行完整出現。

加上 +tcp 就會用 TCP 送出查詢。Debian 12 伺服器的 dig 9.18 加上 +tcp 後,SERVER 行末尾從 (UDP) 變成 (TCP),收到的記錄相同。

ℹ️ 聯盟行銷說明
本站內容包含聯盟行銷連結。訪客透過這些連結購買商品或服務時,本站會從賣家獲得佣金。在這個過程中,購買者支付的金額(遇到活動折扣時金額會降低↓)並不會因此提高。刊登的價格、折扣與庫存資訊以撰寫當時為準,可能與實際情況不同,購買前請向賣家做最後確認。商品的挑選與評價依本站自訂的標準撰寫,是否支付佣金不會影響介紹順序或評價內容。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Prove your humanity: 2   +   10   =