文章插图
dig 是一个强大而灵活的工具,用于查询域名系统(DNS)服务器 。在这篇文章中,我们将深入了解它的工作原理以及它能告诉你什么 。• 来源:linux.cn • 作者:Sandra Henry-stocker • 译者:Xingyu.Wang •
(本文字数:7201,阅读时长大约:8 分钟)
dig 是一款强大而灵活的查询 DNS 名称服务器的工具 。它执行 DNS 查询,并显示参与该过程的名称服务器返回的应答以及与搜索相关的细节 。系统管理员和 DNS 管理员经常使用 dig 来帮助排除 DNS 问题 。在这篇文章中,我们将深入了解它的工作原理,看看它能告诉我们什么 。
开始之前,对 DNS(域名系统)的工作方式有一个基本的印象是很有帮助的 。它是全球互联网的关键部分,因为它提供了一种查找世界各地的服务器的方式,从而可以与之连接 。你可以把它看作是互联网的地址簿,任何正确连接到互联网的系统,都应该能够使用它来查询任何正确注册的服务器的 IP 地址 。
dig 入门Linux 系统上一般都默认安装了 dig 工具 。下面是一个带有一点注释的 dig 命令的例子:
$ dig www.networkworld.com; <<>> DiG 9.16.1-Ubuntu <<>> www.networkworld.com <== 你使用的 dig 版本;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6034;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 65494;; QUESTION SECTION: <== 你的查询细节;www.networkworld.com. IN A;; ANSWER SECTION: <== 结果www.networkworld.com. 3568 IN CNAME idg.map.fastly.net.idg.map.fastly.net. 30 IN A 151.101.250.165;; Query time: 36 msec <== 查询用时;; SERVER: 127.0.0.53#53(127.0.0.53) <== 本地缓存解析器;; WHEN: Fri Jul 24 19:11:42 EDT 2020 <== 查询的时间;; MSG SIZE rcvd: 97 <== 返回的字节数
如果你得到了一个这样的应答,是好消息吗?简短的回答是“是” 。你得到了及时的回复 。状态字段(status: NOERROR)显示没有问题 。你正在连接到一个能够提供所要求的信息的名称服务器,并得到一个回复,告诉你一些关于你所查询的系统的重要细节 。简而言之,你已经验证了你的系统和域名系统相处得很好 。其他可能的状态指标包括:
- SERVFAIL:被查询的名称存在,但没有数据或现有数据无效 。
- NXDOMAIN:所查询的名称不存在 。
- REFUSED:该区域的数据不存在于所请求的权威服务器中,并且在这种情况下,基础设施没有设置为提供响应服务 。
$ dig cannotbe.org; <<>> DiG 9.16.1-Ubuntu <<>> cannotbe.org;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 35348;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
一般来说,dig 比 ping 会提供更多的细节,如果域名不存在,ping 会回复 “名称或服务未知” 。当你查询一个合法的系统时,你可以看到域名系统对该系统知道些什么,这些记录是如何配置的,以及检索这些数据需要多长时间 。(LCTT 译注:dig 也比 nslookup 提供的数据更多 。此外,dig 采用的是操作系统的解析库,而 nslookup 采用的是自己提供的解析库,这有时候会带来不同的行为 。最后,有趣的一点是,dig 的返回的格式是符合 BIND 区域文件格式的 。)
事实上,有时 dig 可以在 ping 完全不能响应的时候进行响应,当你试图确定一个连接问题时,这种信息是非常有用的 。
推荐阅读
- 天主教教皇为什么在梵蒂冈了
- 什么是自媒体,这上面如何赚钱?新手建议收藏
- 如何删除Win10中频繁出现的顽固文件?
- 法国在二战中的贡献 法国在二战中的表现
- 红茶发酵率和发酵时间,红茶制程主要工序在于发酵
- Jackson注解详解
- 使用 Go 语言实现凯撒加密
- MySQL的备份与恢复
- 孝庄皇后死后埋在哪里了? 孝庄太后的一生
- 历史上的虢国夫人 虢国夫人是哪个朝代