一、什麼是dig命令
dig命令是一個域名系統(DNS)工具,用於查詢DNS服務器上的記錄,以獲取主機名、IP地址、郵件交換記錄等信息。 它是在Unix、Linux和一些其他操作系統上運行的。dig命令可以在命令行中輸入,然後通過一個名稱服務器查詢域名系統的記錄。
dig命令不同於其他工具,如NSLOOKUP,因為它是使用更常見的線程模型,支持IPv6,並支持更多的DNS安全交易。它是普通用戶和網絡管理員的常用工具之一。
二、dig命令的語法
dig命令的語法如下:
dig [@server] [-b address] [-c class] [-f file] [-k filename] [-p port] [-t type] [-x addr] [-y name:key] [-4] [-6] [name] [type] [class] [queryopt...]
其中,@用於指定查詢的DNS服務器,-t用於指定查詢的記錄類型,-x用於反向DNS查詢。
除了基本的使用,dig命令還可以具有各種選項和查詢選項,以便更好地進行查詢。
三、dig命令的主要用途
dig命令主要用於以下方面:
1. 查詢DNS記錄類型
使用dig命令可以查詢不同類型的DNS記錄,如A、MX、CNAME、PTR、TXT等。比如:查詢www.baidu.com的IP地址
dig www.baidu.com
將返回如下結果:
; <> DiG 9.10.6 <> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57482
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 143 IN A 123.125.115.110
www.baidu.com. 143 IN A 123.125.115.111
www.baidu.com. 143 IN A 123.125.115.112
www.baidu.com. 143 IN A 123.125.115.113
www.baidu.com. 143 IN A 123.125.115.114
;; Query time: 344 msec
;; SERVER: 202.96.209.5#53(202.96.209.5)
;; WHEN: Fri May 07 17:58:44 CST 2021
;; MSG SIZE rcvd: 123
從返回結果中可以看到,查詢到www.baidu.com的五個IP地址。
2. 顯示域名服務器信息
使用dig命令可以查看域名服務器信息,例如查詢百度的域名服務器信息:
dig +nssearch baidu.com
將返回以下結果:
+[sid=0x7f0cfd847a20][m:1.2.3.4:39992/55492,r:0(0)][{hdb.c:5846:cmd_search}]: nssearch baidu.com. opt 0 flags 0x4010 [1a] 2-1.g-tsl.weibo.cn. [2] bfia.mb.baidu.com. [3] ns7.baidu.com. [4] ns3.baidu.com. [5] ns2.baidu.com. [6] ns6.baidu.com. [7] ns4.baidu.com. [8] ns5.baidu.com.
從返回結果中可以查看到an,ns,soa,cname和mx等域名記錄類型的相關信息。
3. 域名解析過程的詳細信息
使用dig命令可以查看域名解析的詳細過程,包括域名解析的來源、時間、目標IP地址等。比如:
dig @8.8.8.8 +trace www.baidu.com
將返回以下結果:
+[sid=0x7f0cfd847a20][m:1.2.3.4:39992/55492,r:0(0)][{hdb.c:10586:bigresponse_endparse}]: begin bigresponse_endparse
; <> DiG 9.10.6 <> @8.8.8.8 +trace www.baidu.com
; (1 server found)
;; global options: +cmd
. 20703 IN NS a.root-servers.net.
. 20703 IN NS b.root-servers.net.
. 20703 IN NS c.root-servers.net.
. 20703 IN NS d.root-servers.net.
. 20703 IN NS e.root-servers.net.
. 20703 IN NS f.root-servers.net.
. 20703 IN NS g.root-servers.net.
. 20703 IN NS h.root-servers.net.
. 20703 IN NS i.root-servers.net.
. 20703 IN NS j.root-servers.net.
. 20703 IN NS k.root-servers.net.
. 20703 IN NS l.root-servers.net.
. 20703 IN NS m.root-servers.net.
;; Received 239 bytes from 8.8.8.8#53(8.8.8.8) in 92 ms
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
;; Received 491 bytes from 199.7.91.13#53(l.root-servers.net) in 15242 ms
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
baidu.com. 172800 IN NS ns6.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns5.baidu.com.
;; Received 273 bytes from 192.26.92.30#53(c.gtld-servers.net) in 180 ms
www.baidu.com. 600 IN CNAME www.a.shifen.com.
www.a.shifen.com. 600 IN A 220.181.38.148
www.a.shifen.com. 600 IN A 220.181.38.149
;; Received 94 bytes from 220.181.7.167#53(ns7.baidu.com) in 441 ms
從結果中可以看到,該域名服務器將查詢發往根服務器,根服務器返回com域服務器列表,com域服務器返回baidu.com的NS記錄列表,baidu.com的NS服務器返回www.baidu.com的CNAME記錄。
4. 檢查DNS服務器
對於一個特定的域名,使用dig命令可以檢查域名是否被正確地配置在DNS服務器上。查詢百度域名的DNS服務器信息,例如:
dig +nssearch baidu.com
返回結果中將列出所有共同管理該域名的名稱服務器和郵件交換服務器。
5. 檢查DNS解析緩存
使用dig命令可以檢查DNS解析緩存,以確保舊的DNS解析信息已被刪除,新的DNS解析信息已被正確地加載。例如:
dig baidu.com -t a +noall +answer
將返回以下結果:
baidu.com. 3362 IN A 220.181.38.148
baidu.com. 3362 IN A 220.181.38.149
baidu.com. 3362 IN A 220.181.38.150
使用這個命令可以檢查www.baidu.com的DNS解析緩存,以判斷緩存中是否存在過期信息。
四、小結
dig命令是一個功能強大的工具,能夠查詢DNS服務器上的記錄,並為系統管理員提供有用的信息。通過這篇文章,我們了解了dig命令的基本語法、主要用途以及執行域名查詢的過程。 希望這篇文章能夠幫助您更好地使用dig命令。
原創文章,作者:NRZU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132332.html