一、什麼是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-tw/n/132332.html