作為系統管理員或開發人員需要了解的 4 個重要的 Dig 命令示例
已發表: 2022-11-09作為系統管理員,事情看起來很漂亮,直到它們不好看。 在那些危機驅動的時刻,這些挖掘命令會派上用場。 敬請關注。
系統管理員每次都做得很糟糕。 即使是最基本的系統管理員工作要求,即 24/7 全天候待命,我也非常欣賞這一點。
但我們不是來深入了解他們的工作概況的。 相反,檢查他們選擇的武器來解決 DNS 問題。
什麼是挖掘命令?
Domain Information Groper 的縮寫,Dig 命令是查詢 DNS 服務器哪些工作正常,哪些不工作的最快方法之一。
可查看服務器IP地址、域名服務器、郵件交換、查詢TTL等,文字易記。
在開始使用一些基本的 dig 命令之前,請檢查您是否安裝了 dig 實用程序:
$ dig -v
這應該返回指示挖掘版本的結果,如下所示:
DiG 9.18.1-1ubuntu1-Ubuntu
如果您沒有得到類似的響應,則需要先安裝 Dig 實用程序。
對於使用 Ubuntu 和 Debian 的人,請輸入:
$ sudo apt-get install dnsutils
並使用:
$ sudo yum install bind-utils
…如果你在 CentOS 或 RHEL 上。
接下來,運行dig -v
以確保安裝順利進行。
最後,跳轉到以下部分以查看一些 Dig 命令,以幫助您作為系統管理員。
檢查 IP 地址
這是我們檢查支持域名的服務器 IP 地址的最簡單方法之一。
dig geekflare.com
是我們將開始的迭代。
$ dig geekflare.com ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> geekflare.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;geekflare.com. IN A ;; ANSWER SECTION: geekflare.com. 67 IN A 172.66.43.163 geekflare.com. 67 IN A 172.66.40.93 ;; Query time: 4 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Nov 09 04:29:58 UTC 2022
第一個重要的事情是狀態:在頂部的Got answer部分中的status: NOERROR
。 這告訴我們它進展順利,沒有任何問題。
但我們進行此查詢的信息是服務器 IP 地址。 答案部分172.66.40.93(主服務器)和 172.66.43.163(故障安全)中提到了它。
此外,您的原始查詢語句位於Question 部分下。
最後一節給出了一些關於查詢的統計信息。
但這是非常多的信息,並非每次都需要。
因此,您可以通過輸入以下內容來獲取對此查詢的更清晰的響應:
$ dig geekflare.com +noall +answer geekflare.com. 53 IN A 172.66.43.163 geekflare.com. 53 IN A 172.66.40.93
在這裡,我們通過+noall否認一切,只允許通過+answer得到預期的答案。
使用以下命令可以獲得更簡短的響應:
$ dig geekflare.com +short 172.66.43.163 172.66.40.93
這是返回DNS A記錄的基本查詢; 讓我們再看幾個。
查找特定的 DNS 記錄
Nameservers 是域的權威 DNS 服務器,可以通過ns
變量找到。
$ dig geekflare.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.
同樣, mx
變量響應郵件服務器及其優先級。
$ dig geekflare.com mx +noall +answer geekflare.com. 300 IN MX 1 aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt3.aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt4.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt1.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt2.aspmx.l.google.com.
以同樣的方式, txt
、 aaaa
、 cname
等可以用作 dig 命令變量以返回不同的 DNS 記錄。
跟踪 DNS
如標題所示,Trace DNS 檢查從根名稱服務器、權威名稱服務器到域 IP 地址的路徑。
$ dig geekflare.com +trace ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> geekflare.com +trace ;; global options: +cmd . 322660 IN NS a.root-servers.net. . 322660 IN NS b.root-servers.net. . 322660 IN NS c.root-servers.net. . 322660 IN NS d.root-servers.net. . 322660 IN NS e.root-servers.net. . 322660 IN NS f.root-servers.net. . 322660 IN NS g.root-servers.net. . 322660 IN NS h.root-servers.net. . 322660 IN NS i.root-servers.net. . 322660 IN NS j.root-servers.net. . 322660 IN NS k.root-servers.net. . 322660 IN NS l.root-servers.net. . 322660 IN NS m.root-servers.net. ;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766 com. 86400 IN RRSIG DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw== ;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms geekflare.com. 172800 IN NS olga.ns.cloudflare.com. geekflare.com. 172800 IN NS todd.ns.cloudflare.com. geekflare.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254 geekflare.com. 86400 IN RRSIG DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA== ;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms geekflare.com. 300 IN A 172.66.43.163 geekflare.com. 300 IN A 172.66.40.93 geekflare.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 geekflare.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg== ;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms
或者,您可以使用+short
或+noall +answer
變量獲得簡短答案。

反向 DNS 查找
反向 DNS 查找顯示與 IP 地址關聯的 PTR 記錄。 它與 DNS A 記錄相反,將 IP 地址與域名相匹配。
但是,如果域名沒有 DNS PTR 記錄,則不會有答案部分。
這裡的命令是dig -x IP address
。
ubuntu@ubuntu:~$ dig yahoo.com +short 74.6.143.26 74.6.231.20 98.137.11.164 98.137.11.163 74.6.143.25 74.6.231.21 ubuntu@ubuntu:~$ dig -x 74.6.143.26 ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;26.143.6.74.in-addr.arpa. IN PTR ;; ANSWER SECTION: 26.143.6.74.in-addr.arpa. 600 IN PTR media-router-fp74.prod.media.vip.bf1.yahoo.com. ;; AUTHORITY SECTION: 143.6.74.in-addr.arpa. 172800 IN NS ns3.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns4.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns5.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns2.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns1.yahoo.com. ;; Query time: 192 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Nov 09 04:17:08 UTC 2022 ;; MSG SIZE rcvd: 203
如您所見,Answer 部分中的域名fp74.prod.media.vip.bf1.yahoo.com/
與其主 IP 地址 74.6.143.26 相關聯。
訪問此 URL 實際上會將您帶到 Yahoo 搜索主頁。
但是,這可能不適用於所有 Web 主機; 在某些情況下,這些醜陋的長 URL 並不能解決任何問題。
查詢特定 DNS 服務器
有時您想 ping 特定服務器以進行 DNS 查詢。 通過添加@DNS server IP address
,為特定查詢選擇任何 DNS 服務器,可以輕鬆實現這一點。
$ dig @1.1.1.1 geekflare.com +noall +answer +stats geekflare.com. 300 IN A 172.66.40.93 geekflare.com. 300 IN A 172.66.43.163 ;; Query time: 156 msec ;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP) ;; WHEN: Wed Nov 09 04:18:56 UTC 2022 ;; MSG SIZE rcvd: 74
您可以在 stats 部分驗證這一點,其中提到Server: 1.1.1.1 ,屬於 Cloudflare。
同樣,可以查詢 Google DNS 服務器(8.8.8.8):
$ dig @8.8.8.8 geekflare.com mx +noall +answer +stats geekflare.com. 300 IN MX 1 aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt3.aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt4.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt1.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt2.aspmx.l.google.com. ;; Query time: 44 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP) ;; WHEN: Wed Nov 09 04:23:16 UTC 2022 ;; MSG SIZE rcvd: 157
讓我們挖掘它️
顧名思義,這些用於挖掘 DNS 信息並識別相關問題。 挖掘命令通常工作速度很快並且易於記憶。
更不用說,您還可以在 Mac 和 Windows 上安裝 dig 實用程序,使其在應用程序中通用。
PS:當您在這裡時,不向您介紹 Geekflare 系統管理員庫是犯罪行為,這是解決您系統管理員頭痛的一站式解決方案中心。