DIG命令(Domain Information Groper命令)是一个网络工具,具有基本的命令行接口,用于进行不同的DNS(域名系统)查询。您可以使用DIG命令:
1. dig domain.com
范例:dig www.baidu.com
- mirror@Ubuntu22:~$ dig www.baidu.com
-
- ; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> www.baidu.com
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2424
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
-
- ;; OPT PSEUDOSECTION:
- ; EDNS: version: 0, flags:; udp: 512
- ;; QUESTION SECTION:
- ;www.baidu.com. IN A
-
- ;; ANSWER SECTION:
- www.baidu.com. 1146 IN CNAME www.a.shifen.com.
- www.a.shifen.com. 38 IN A 153.3.238.102
- www.a.shifen.com. 38 IN A 153.3.238.110
-
- ;; Query time: 40 msec
- ;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
- ;; WHEN: Mon Nov 27 15:13:05 CST 2023
- ;; MSG SIZE rcvd: 101
-
- mirror@Ubuntu22:~$
-
2. dig domain.com +short
范例:dig www.baidu.com +short
- mirror@Ubuntu22:~$ dig www.baidu.com +short
- www.a.shifen.com.
- 153.3.238.102
- 153.3.238.110
- mirror@Ubuntu22:~$
-
只显示 IP 地址,而不显示任何其他信息。快速且易于使用的,基本上只有 A 记录。
3. dig domain.com MX
范例:dig google.com MX
测试了百度和163,都没有MX记录,最后找到用Google可以看到有MX记录。
- mirror@Ubuntu22:~$ dig google.com MX
-
- ; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> google.com MX
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8524
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
-
- ;; OPT PSEUDOSECTION:
- ; EDNS: version: 0, flags:; udp: 512
- ;; QUESTION SECTION:
- ;google.com. IN MX
-
- ;; ANSWER SECTION:
- google.com. 35 IN MX 10 smtp.google.com.
-
- ;; Query time: 40 msec
- ;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
- ;; WHEN: Mon Nov 27 15:19:26 CST 2023
- ;; MSG SIZE rcvd: 60
-
- mirror@Ubuntu22:~$
-
可以查询不同类型的记录,例如邮件交换器记录。MX 记录显示负责接受电子邮件的邮件服务器。您可以查看所有服务器是否都正常工作以及响应是否太慢。
4. dig domain.com SOA
范例:dig www.163.com SOA
- mirror@Ubuntu22:~$ dig www.163.com SOA
-
- ; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> www.163.com SOA
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47476
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 0
-
- ;; QUESTION SECTION:
- ;www.163.com. IN SOA
-
- ;; ANSWER SECTION:
- www.163.com. 298 IN CNAME www.163.com.163jiasu.com.
- www.163.com.163jiasu.com. 572 IN CNAME www.163.com.bsgslb.cn.
- www.163.com.bsgslb.cn. 17 IN CNAME z163picipv6.v.bsgslb.cn.
-
- ;; AUTHORITY SECTION:
- v.bsgslb.cn. 600 IN SOA vns1.bsgslb.cn. gtm.baishan.com. 1669778000 86400 3600 604800 300
-
- ;; Query time: 88 msec
- ;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
- ;; WHEN: Mon Nov 27 15:29:10 CST 2023
- ;; MSG SIZE rcvd: 180
-
- mirror@Ubuntu22:~$
-
SOA——权威的开始,显示权威的DNS服务器。在此记录中,您可以看到有关该区域的有价值的信息。每个区域只有一个 SOA。
5. dig domain.com TTL
范例:dig www.163.com TTL
TTL——生存时间。它显示数据应保留多长时间。将TTL值适当的增加,可以降低DNS服务器的负载,也可以为不同的DNS配置不同的TTL。
6. dig domain.com +nocomments +noquestion +noauthority +noadditional +nostats
范例:dig google.com +nocomments +noquestion +noauthority +noadditional +nostats
- mirror@Ubuntu22:~$ dig google.com +nocomments +noquestion +noauthority +noadditional +nostats
-
- ; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> google.com +nocomments +noquestion +noauthority +noadditional +nostats
- ;; global options: +cmd
- google.com. 35 IN A 172.217.160.78
- mirror@Ubuntu22:~$
-
只回答查询结果。可以减少很多额外的统计数据。
7. dig -x IPaddress
范例:dig -x 114.114.114.114
反向查找。如果DNS记录有PTR记录,那么可以用这个指令查找IP对应的域名信息。通过反向查找114.114.114.114 的域名为:public1.114dns.com
8. dig @dnsserver domain.com
范例1:dig @8.8.8.8 www.baidu.com
范例2:dig @114.114.114.114 www.baidu.com
指定DNS服务器对相同的域名解析。这个方法可以帮助判断一些网络缓慢或者访问异常的问题。
9. dig +trace domain.com
范例:dig +trace baidu.com
跟踪DNS路径。将显示 DNS 查询所采用的整个路由。可以帮助查找DNS解析失败的位置。
10. dig -p 5300 www.baidu.com
- mirror@Ubuntu22:~$ dig -p 5300 baidu.com
- ;; communications error to 114.114.114.114#5300: timed out
- ;; communications error to 114.114.114.114#5300: timed out
- ;; communications error to 114.114.114.114#5300: timed out
-
- ; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> -p 5300 baidu.com
- ;; global options: +cmd
- ;; no servers could be reached
-
- mirror@Ubuntu22:~$
-
指定端口号。如果您已将DNS服务标准端口 53 更改为另一个自定义端口以提高安全性,则可以使用 dig 命令来检查这个端口是否正常工作。
11. dig _sip._udp.yourdomain.com SRV
范例:dig _sip._udp.baidu.com SRV
- mirror@Ubuntu22:~$ dig _sip._udp.baidu.com SRV
-
- ; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> _sip._udp.baidu.com SRV
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 50392
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
-
- ;; OPT PSEUDOSECTION:
- ; EDNS: version: 0, flags:; udp: 512
- ;; QUESTION SECTION:
- ;_sip._udp.baidu.com. IN SRV
-
- ;; AUTHORITY SECTION:
- baidu.com. 3544 IN SOA dns.baidu.com. sa.baidu.com. 2012147583 300 300 2592000 7200
-
- ;; Query time: 37 msec
- ;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
- ;; WHEN: Mon Nov 27 15:49:06 CST 2023
- ;; MSG SIZE rcvd: 91
-
- mirror@Ubuntu22:~$
-
使用此命令可以检查SRV记录。SRV记录经常用于 VoIP。在此示例中,表示我们正在使用 UDP 协议检查SIP服务是否正常。答案将显示响应时间以及负责 SIP 服务的服务器的 IP。
12. dig domain.com TXT
范例:dig google.com TXT
测试的时候,用baidu没有TXT记录,应该是么有开放查询,改用了Google。
- mirror@Ubuntu22:~$ dig google.com TXT
-
- ; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> google.com TXT
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33409
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
-
- ;; OPT PSEUDOSECTION:
- ; EDNS: version: 0, flags:; udp: 512
- ;; QUESTION SECTION:
- ;google.com. IN TXT
-
- ;; ANSWER SECTION:
- google.com. 280 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
- google.com. 280 IN TXT "apple-domain-verification=30afIBcvSuDV2PLX"
- google.com. 280 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
- google.com. 280 IN TXT "google-site-verification=TV9-DBe4R80X4v0M4U_bd_J9cpOJM0nikft0jAgjmsQ"
- google.com. 280 IN TXT "docusign=1b0a6754-49b1-4db5-8540-d2c12664b289"
- google.com. 280 IN TXT "webexdomainverification.8YX6G=6e6922db-e3e6-4a36-904e-a805c28087fa"
-
- ;; Query time: 43 msec
- ;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
- ;; WHEN: Mon Nov 27 15:50:42 CST 2023
- ;; MSG SIZE rcvd: 442
-
- mirror@Ubuntu22:~$
-
查看所有 TXT 记录,TXT 记录可用于验证,并且可以有不同的变体。
13. dig _dmarc.domain.com TXT
范例:dig _dmarc.google.com TXT
- mirror@Ubuntu22:~$ dig _dmarc.google.com TXT
-
- ; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> _dmarc.google.com TXT
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37953
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
-
- ;; QUESTION SECTION:
- ;_dmarc.google.com. IN TXT
-
- ;; ANSWER SECTION:
- _dmarc.google.com. 300 IN TXT "v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com"
-
- ;; Query time: 90 msec
- ;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
- ;; WHEN: Mon Nov 27 15:52:21 CST 2023
- ;; MSG SIZE rcvd: 106
-
- mirror@Ubuntu22:~$
-