Linux dig 快速使用說明

在Linux系統中,dig是一個強大的工具,用於查詢DNS(Domain Name System)相關的信息。無論是查詢主機的IP地址,還是查找特定的DNS記錄,dig都是一個非常實用的命令。本文將為您提供一個快速的dig使用說明,幫助您更有效地利用這個工具。

指令和範例

指令格式

dig [@server] [name] [type]

基本用法

要使用dig命令,只需在終端中輸入以下命令:

dig www.google.com

#輸出結果
; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35075
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.google.com.		17	IN	A	142.251.42.228

;; Query time: 3 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Mar 07 23:18:58 CST 2024
;; MSG SIZE  rcvd: 59


這個命令將會返回www.google.com的DNS記錄信息,包括其IP(142.251.42.228)地址。

指定DNS伺服器

你也可以指定要查詢的DNS伺服器。例如,要查詢Google的DNS伺服器,你可以使用以下命令:

dig www.google.com @8.8.8.8

#輸出結果
; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> www.google.com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25697
;; 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.		286	IN	A	142.251.42.228

;; Query time: 7 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Thu Mar 07 23:20:25 CST 2024
;; MSG SIZE  rcvd: 59

這將會向Google的DNS(8.8.8.8)伺服器查詢www.google.com的DNS記錄,回應紀錄為”142.251.42.228″。

查詢特定類型的DNS記錄

有時你可能需要查詢特定類型的DNS記錄,比如MX記錄(郵件交換記錄)或TXT記錄(文本記錄)。例如,要查詢google.com的MX記錄,你可以使用以下命令:

dig google.com MX

#輸出結果
; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> google.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61998
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
google.com.		153	IN	MX	10 smtp.google.com.

;; Query time: 7 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Mar 07 23:19:59 CST 2024
;; MSG SIZE  rcvd: 60

顯示詳細信息

如果你需要更詳細的信息,可以使用+short參數來獲取簡短的結果。這在腳本中特別有用。例如:

dig +short www.google.com

#輸出結果
142.251.43.4

這將只返回www.google.com的IP地址,而不顯示其他冗長的信息。

禁用DNSSEC驗證

+cdflag用於設置DNS的Checking Disabled標誌。這個參數可以禁用DNSSEC驗證。例如:

dig +cdflag www.google.com

#輸出結果
; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> +cdflag www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62795
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.google.com.		80	IN	A	142.251.43.4

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Mar 07 23:21:25 CST 2024
;; MSG SIZE  rcvd: 59

追蹤DNS查詢

+trace參數用於追蹤DNS查詢過程。它將顯示查詢每個DNS伺服器的過程。例如:

dig +trace google.com

#輸出結果

; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> +trace google.com
;; global options: +cmd
.			7179	IN	NS	g.root-servers.net.
.			7179	IN	NS	a.root-servers.net.
.			7179	IN	NS	d.root-servers.net.
.			7179	IN	NS	e.root-servers.net.
.			7179	IN	NS	k.root-servers.net.
.			7179	IN	NS	f.root-servers.net.
.			7179	IN	NS	i.root-servers.net.
.			7179	IN	NS	c.root-servers.net.
.			7179	IN	NS	b.root-servers.net.
.			7179	IN	NS	h.root-servers.net.
.			7179	IN	NS	l.root-servers.net.
.			7179	IN	NS	m.root-servers.net.
.			7179	IN	NS	j.root-servers.net.
;; Received 239 bytes from 127.0.0.53#53(127.0.0.53) in 3 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.
com.			86400	IN	DS	19718 13 2 8ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D7 71D7805A
com.			86400	IN	RRSIG	DS 8 1 86400 20240320050000 20240307040000 30903 . 1jbQmGPswWTCgexiPN5CuRyHuIzDorqlOP2GDC6kbjU3/5jMnEslyBOt viPddLn7ZyRR2kGJLRy0ZfIlEjcPCzptzjuYzhDfMiGFj02JoekCXT1W IswckNz6Yo1z3YlST+FSqey4KWtaw4TrMvqG/0Xn9L4/Km8twnmBRPdr ELhpjr5VEnCtXvnpcATiLC+HlzJXLlKYvXx2wC+79ySn3gKcPwId1ODl Xjp9t0lgehP+YjrwBXpbqCI3jp0qHgY5gwSWA4Dr0pGDhRExsHFTzkRi le18L0Q9LQwGy2YelOsN6K0vNlWiAsFaFnv+Im2jeX15Noj93WFY9cIU 7zlCcA==
;; Received 1170 bytes from 193.0.14.129#53(k.root-servers.net) in 3 ms

google.com.		172800	IN	NS	ns2.google.com.
google.com.		172800	IN	NS	ns1.google.com.
google.com.		172800	IN	NS	ns3.google.com.
google.com.		172800	IN	NS	ns4.google.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q2D6NI4I7EQH8NA30NS61O48UL8G5 NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 13 2 86400 20240313052626 20240306041626 4534 com. vqYwZamvonqQ4TiNeNHJPd0qu8PyUA7F7EmE4aDXKskxZiirTWRDk6Hr 0kJQO2XgsyGmYN9o4B9ZMgn2MrzKwA==
S84BKCIBC38P58340AKVNFN5KR9O59QC.com. 86400 IN NSEC3 1 1 0 - S84BR9CIB2A20L3ETR1M2415ENPP99L8 NS DS RRSIG
S84BKCIBC38P58340AKVNFN5KR9O59QC.com. 86400 IN RRSIG NSEC3 13 2 86400 20240314053651 20240307042651 4534 com. P+7gPjc/4SM9j8ETNrisJbA0Y3HmAEKvgV4PJhBWbdTdJafI+Av5XfIQ gJNx+o3SjdZfYCFJr+FDiMFn82Yp3A==
;; Received 644 bytes from 192.54.112.30#53(h.gtld-servers.net) in 55 ms

;; UDP setup with 2001:4860:4802:36::a#53(2001:4860:4802:36::a) for google.com failed: network unreachable.
;; UDP setup with 2001:4860:4802:36::a#53(2001:4860:4802:36::a) for google.com failed: network unreachable.
;; UDP setup with 2001:4860:4802:36::a#53(2001:4860:4802:36::a) for google.com failed: network unreachable.
google.com.		300	IN	A	172.217.160.110
;; Received 55 bytes from 216.239.36.10#53(ns3.google.com) in 7 ms

總結:

用dig命令可以幫助您解決許多與DNS相關的問題,並了解更多有關網絡設置的信息。通過這篇快速的使用說明,您已經學會了如何在Linux系統中使用dig命令。不斷練習和探索,你將更加熟練地使用這個強大的工具。

希望這篇文章對你有所幫助,並且能夠使你更好地利用dig命令來管理和維護你的Linux系統。

額外工具

  • DNS Checker
    可以透過多個地區查詢DNS結果,也可以了解各地區同步狀態。
  • Google Admin Toolbox Dig
    人在外面又沒有主機可以下Dig 指令,快速查詢跟使用。

發佈留言

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

返回頂端