作为系统管理员或开发人员需要了解的 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.

以同样的方式, txtaaaacname等可以用作 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 系统管理员库是犯罪行为,这是解决您系统管理员头痛的一站式解决方案中心。