iis服务器助手广告
返回顶部
首页 > 资讯 > 操作系统 >在Linux上中dig怎么用
  • 135
分享到

在Linux上中dig怎么用

2023-06-15 21:06:37 135人浏览 安东尼
摘要

这篇文章主要介绍在linux上中dig怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!dig 是一个强大而灵活的工具,用于查询域名系统(DNS)服务器。在这篇文章中,我们将深入了解它的工作原理以及它能告诉你什么。

这篇文章主要介绍在linux上中dig怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

dig 是一个强大而灵活的工具,用于查询域名系统(DNS服务器。在这篇文章中,我们将深入了解它的工作原理以及它能告诉你什么。

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 完全不能响应的时候进行响应,当你试图确定一个连接问题时,这种信息是非常有用的。

DNS 记录类型和标志

在上面的第一个查询中,我们可以看到一个问题,那就是同时存在 CNAME 和 A 记录。CNAME规范名称canonical name)就像一个别名,把一个域名指向另一个域名。你查询的大多数系统不会有 CNAME 记录,而只有 A 记录。如果你运行 dig localhost 命令,你会看到一个 A 记录,它就指向 127.0.0.1 &mdash;&mdash; 这是每个系统都使用的“回环”地址。A 记录用于将一个名字映射到一个 IP 地址。

DNS 记录类型包括:

  • A 或 AAAA:IPv4 或 IPv6 地址

  • CNAME:别名

  • MX:邮件交换器

  • NS:名称服务器

  • PTR:一个反向条目,让你根据 IP 地址找到系统名称

  • SOA:表示授权记录开始

  • TXT 一些相关文本

我们还可以在上述输出的第五行看到一系列的“标志”。这些定义在 RFC 1035 中 &mdash;&mdash; 它定义了 DNS 报文头中包含的标志,甚至显示了报文头的格式。

                                1  1  1  1  1  1  0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                      ID                       |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                    QDCOUNT                    |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                    ANCOUNT                    |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                    NSCOUNT                    |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                    ARCOUNT                    |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

在上面的初始查询中,第五行显示的标志是:

  • qr = 查询

  • rd = 进行递归查询

  • ra = 递归数据可用

RFC 中描述的其他标志包括:

  • aa = 权威答复

  • cd = 检查是否禁用

  • ad = 真实数据

  • opcode = 一个 4 位字段

  • tc = 截断

  • z(未使用)

添加 +trace 选项

如果你添加 +trace 选项,你将从 dig 得到更多的输出。它会添加更多信息,显示你的 DNS 查询如何通过名称服务器的层次结构找到你要找的答案。

下面显示的所有 NS 记录都反映了名称服务器 &mdash;&mdash; 这只是你将看到的数据的第一部分,因为查询通过名称服务器的层次结构来追踪你要找的东西:

$ dig +trace networkworld.com ; <<>> DiG 9.16.1-Ubuntu <<>> +trace networkworld.com;; global options: +cmd.                       84895   IN      NS      k.root-servers.net..                       84895   IN      NS      e.root-servers.net..                       84895   IN      NS      m.root-servers.net..                       84895   IN      NS      h.root-servers.net..                       84895   IN      NS      c.root-servers.net..                       84895   IN      NS      f.root-servers.net..                       84895   IN      NS      a.root-servers.net..                       84895   IN      NS      g.root-servers.net..                       84895   IN      NS      l.root-servers.net..                       84895   IN      NS      d.root-servers.net..                       84895   IN      NS      b.root-servers.net..                       84895   IN      NS      i.root-servers.net..                       84895   IN      NS      j.root-servers.net.;; Received 262 bytes from 127.0.0.53#53(127.0.0.53) in 28 ms...

最终,你会得到与你的要求直接挂钩的信息:

networkworld.com.       300     IN      A       151.101.2.165networkworld.com.       300     IN      A       151.101.66.165networkworld.com.       300     IN      A       151.101.130.165networkworld.com.       300     IN      A       151.101.194.165networkworld.com.       14400   IN      NS      ns-d.pnap.net.networkworld.com.       14400   IN      NS      ns-a.pnap.net.networkworld.com.       14400   IN      NS      ns0.pcworld.com.networkworld.com.       14400   IN      NS      ns1.pcworld.com.networkworld.com.       14400   IN      NS      ns-b.pnap.net.networkworld.com.       14400   IN      NS      ns-c.pnap.net.;; Received 269 bytes from 70.42.185.30#53(ns0.pcworld.com) in 116 ms

挑选响应者

你可以使用 @ 符号来指定一个特定的名称服务器来处理你的查询。在这里,我们要求 Google 的主名称服务器响应我们的查询:

$ dig @8.8.8.8 networkworld.com ; <<>> DiG 9.16.1-Ubuntu <<>> @8.8.8.8 networkworld.com; (1 server found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43640;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;networkworld.com.              IN      A ;; ANSWER SECTION:networkworld.com.       299     IN      A       151.101.66.165networkworld.com.       299     IN      A       151.101.194.165networkworld.com.       299     IN      A       151.101.130.165networkworld.com.       299     IN      A       151.101.2.165 ;; Query time: 48 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Sat Jul 25 11:21:19 EDT 2020;; MSG SIZE  rcvd: 109

下面所示的命令对 8.8.8.8 IP 地址进行反向查找,以显示它属于 Google 的 DNS 服务器。

$ nslookup 8.8.8.88.8.8.8.in-addr.arpa    name = dns.google.

以上是“在Linux上中dig怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: 在Linux上中dig怎么用

本文链接: https://www.lsjlt.com/news/281708.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在Linux上中dig怎么用
    这篇文章主要介绍在Linux上中dig怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!dig 是一个强大而灵活的工具,用于查询域名系统(DNS)服务器。在这篇文章中,我们将深入了解它的工作原理以及它能告诉你什么。...
    99+
    2023-06-15
  • Linux中dig命令怎么用
    这篇“Linux中dig命令怎么用”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Linux中dig命令怎么用”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们...
    99+
    2023-06-28
  • Linux的dig命令怎么使用
    本文小编为大家详细介绍“Linux的dig命令怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux的dig命令怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Linux常用命令dig命令的全称...
    99+
    2023-06-28
  • Linux中解析域名命令dig怎么用
    这篇文章主要介绍了Linux中解析域名命令dig怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常。查询单个...
    99+
    2023-06-27
  • 如何使用Linux系统中dig命令
    这篇文章主要讲解了“如何使用Linux系统中dig命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Linux系统中dig命令”吧!语法dig [@server] [-b addre...
    99+
    2023-06-12
  • Ubuntu怎么使用dig命令
    这篇文章主要介绍“Ubuntu怎么使用dig命令”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Ubuntu怎么使用dig命令”文章能帮助大家解决问题。1.打开终端命令行模式。2.使用dig命令来查询...
    99+
    2023-07-04
  • 在Linux上xsos怎么用
    这篇文章将为大家详细讲解有关在Linux上xsos怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。sosreportsosreport 命令是一个从运行中的系统(尤其是 RHEL 和 OEL 系统)收...
    99+
    2023-06-16
  • PostgreSQL在Linux上怎么应用
    要在Linux上使用PostgreSQL,首先需要安装PostgreSQL数据库服务器软件。在大多数Linux发行版中,可以通过包管...
    99+
    2024-05-06
    Linux PostgreSQL
  • 怎么在Linux上使用pkgsrc
    本篇内容介绍了“怎么在Linux上使用pkgsrc”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为什么使用 pkgsrc?除了 MacOS ...
    99+
    2023-06-16
  • 怎么在Linux上使用tarball
    这篇文章主要介绍了怎么在Linux上使用tarball,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。“tarball” (LCTT 译注:国内也常称为“tar 包”)一词通常...
    99+
    2023-06-16
  • Linux系统中nslookup和dig的安装及使用
    这篇文章主要讲解了“Linux系统中nslookup和dig的安装及使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中nslookup和dig的安装及使用”吧!Fedora ...
    99+
    2023-06-05
  • 怎么在Ubuntu Linux上禁用IPv6
    本文小编为大家详细介绍“怎么在Ubuntu Linux上禁用IPv6”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在Ubuntu Linux上禁用IPv6”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。由于I...
    99+
    2023-06-28
  • 怎么在Linux上使用xargs命令
    这篇文章主要介绍怎么在Linux上使用xargs命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在使用 Linux 时,你是否遇到过需要将一些命令串在一起,但是其中一个命令不接受管道输入的情况呢在这种情况下,我们就...
    99+
    2023-06-15
  • 怎么在Linux上托管Django应用
    本篇内容主要讲解“怎么在Linux上托管Django应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Linux上托管Django应用”吧!介绍托管 Django Web 应用程序相当简单...
    99+
    2023-06-16
  • Linux怎么在KVM上使用虚拟机
    这篇文章跟大家分析一下“Linux怎么在KVM上使用虚拟机”。内容详细易懂,对“Linux怎么在KVM上使用虚拟机”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux怎么在K...
    99+
    2023-06-28
  • 怎么在Linux上使用yum设置ZFS
    这篇文章主要讲解了“怎么在Linux上使用yum设置ZFS”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux上使用yum设置ZFS”吧!创建 RPM 包要创建 RPM 包,你需要...
    99+
    2023-06-15
  • PostgreSQL在Linux上怎么扩展与应用
    要在Linux上扩展和应用PostgreSQL,可以按照以下步骤进行: 安装PostgreSQL:首先需要在Linux系统上安装P...
    99+
    2024-05-06
    Linux PostgreSQL
  • 在Linux上怎么使用Window Maker桌面
    这篇文章给大家分享的是有关在Linux上怎么使用Window Maker桌面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在 Mac OS X 之前,有一个奇怪的闭源 Unix 系统,称为 NeXTSTEP。Su...
    99+
    2023-06-16
  • 怎么在linux上安装phpmyadmin
    小编给大家分享一下怎么在linux上安装phpmyadmin,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!1.安装phpMyAdmin 图形化管理工具      ...
    99+
    2024-04-02
  • 在Windows上怎么配置Linux
    这篇文章主要介绍“在Windows上怎么配置Linux”,在日常操作中,相信很多人在在Windows上怎么配置Linux问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Windows上怎么配置Linux”的疑...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作