在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 指令,快速查詢跟使用。