Dig 命令讲解

Linux常用命令之dig命令详解 `dig` 是一个非常灵活且强大的DNS查询工具,适用于各种复杂的查询需求。 阅读详情
原文地址:https://www.jianshu.com/p/71f61652ec23
DNS 命令输出格式

输入 dig rss.newyingyong.cn 命令,通常返回

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49814
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2,     ADDITIONAL: 17

  ;; QUESTION SECTION:
;rss.newyingyong.cn.            IN      A

;; ANSWER SECTION:
rss.newyingyong.cn.     600     IN      A       139.129.23.162

;; AUTHORITY SECTION:
newyingyong.cn.         86398   IN      NS      dns10.hichina.com.
newyingyong.cn.         86398   IN      NS      dns9.hichina.com.

;; ADDITIONAL SECTION:
dns9.hichina.com.       3490    IN      A       140.205.81.15
dns9.hichina.com.       3490    IN      A       140.205.81.25

;; Query time: 5 msec
;; SERVER: 10.202.72.116#53(10.202.72.116)
;; WHEN: Sat Jul 01 11:00:38 CST 2017
;; MSG SIZE  rcvd: 369

各个返回参数说明下:

  1. status: NOERROR 表示查询没有什么错误,Query time 表示查询完成时间
  2. SERVER: 10.202.72.116#53(10.202.72.116),表示本地 DNS 服务器地址和端口号
  3. QUESTION SECTION 表示需要查询的内容,这里需要查询域名的 A 记录
  4. ANSWER SECTION 表示查询结果,返回 A 记录的 IP 地址。600 表示本次查询缓存时间,在 600 秒本地 DNS 服务器可以直接从缓存返回结果
  5. AUTHORITY SECTION 表示从那台 DNS 服务器获取到具体的 A 记录信息。记住本地 DNS 服务器只是查询,而 AUTHORITY SECTION 返回的服务器是权威 DNS 服务器,由它来维护 rss.newyingyong.cn 的域名信息。返回的 DNS 记录类型是 NS,对应的名称是 dns10.hichina.com.,dns9.hichina.com.。
  6. ADDITIONAL SECTION 表示 NS 服务器对应的 IP 地址,这些 IP 地址对应的服务器安装了 BIND 软件。
DNS 服务器记录类型

默认 dig rss.newyingyong.cn 返回的是 A 记录类型,其他类型还包括 MX、NS、SOA 等,我们可以使用 dig -t a/mx/soa/mx rss.newyingyong.cn 进行查询。

  1. dig -t a www.weibo.com +noall +answer
;; global options: +cmd
www.weibo.com.          21      IN      A       180.149.134.142
www.weibo.com.          21      IN      A       180.149.134.141

其中 +noall +answer 表示返回简短信息,这里表示查询 A 记录。
注意,这里返回 2 个 A 记录,这相当于 DNS 均衡,比如浏览器客户端查询 www.weibo.com 域名得到两个 A 记录,然后连接其中的一个 IP 地址对应的 WEB 服务器,假如发现连接不上,可以使用另外一个地址连接。
比如在万网域名管理后台,可以给同一个域名添加两条 A 记录,相当于实现了域名负载均衡。

  1. dig -t ns weibo.com

注意假如用户输入 dig -t ns www.weibo.com 是查询不出 NS 任何记录的,原因在于只有一级域名(或者顶级域名)才有 NS 记录,通过 FQDN 是查询不出 NS 信息的,所以要输入 dig -t ns weibo.com ,返回:

;; ANSWER SECTION:
weibo.com.              9962    IN      NS      ns3.sina.com.cn.
weibo.com.              9962    IN      NS      ns2.sina.com.cn.
weibo.com.              9962    IN      NS      ns1.sina.com.cn.
weibo.com.              9962    IN      NS      ns4.sina.com.
weibo.com.              9962    IN      NS      ns4.sina.com.cn.
weibo.com.              9962    IN      NS      ns3.sina.com.

;; ADDITIONAL SECTION:
ns1.sina.com.cn.        14162   IN      A       202.106.184.166
ns2.sina.com.cn.        14906   IN      A       61.172.201.254
ns3.sina.com.           26496   IN      A       61.172.201.254
ns3.sina.com.cn.        9714    IN      A       123.125.29.99
ns4.sina.com.           24154   IN      A       123.125.29.99
ns4.sina.com.cn.        9733    IN      A       121.14.1.22

微博的权威服务器是微博自己建立的,有 6 个名称和 IP 地址:

有这么多地址,主要是防止单点问题,比如某个 NS 服务器连接不上,可以连接其他 NS 服务器
上述的 NS IP 地址属于不同的运营商,不同的运营商可能会查询对应的 NS 服务器,原因就是加速查询。

  1. dig -t a www.baidu.com
;; ANSWER SECTION:
www.baidu.com.          691     IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       271     IN      A       115.239.211.112
www.a.shifen.com.       271     IN      A       115.239.210.27

这里返回的 CNAME 表示查询 www.baidu.com 的信息其实是 www.a.shifen.com 返回的 A 记录。
CNAME 的存在原因:

某个域名(A)可能会下线,但是这些域名可能还是被访问到,为了避免不友好的提示,可以将这个域名 cname 到另外个域名(B),这样访问 B 相当于返回 A。
很多公司项目可能有很多个域名,但是指定的 IP 地址可能每几个,一旦 IP 地址变化,可能要修改每个域名的 DNS 信息。假如这些域名 cname 到某个特定的域名,那么修改域名信息的时候就会非常方便。

  1. dig -t mx newyingyong.cn
;; QUESTION SECTION:
;newyingyong.cn.                        IN      MX

;; ANSWER SECTION:
newyingyong.cn.         600     IN      MX      10 mx.sina.net.

返回 MX 记录,注意这里不能输入 dig -t mx rss.newyingyong.cn ,因为 MX 记录一般配置在一级域名下。
DNS 迭代查询的具体流程
对于客户端(比如浏览器)查询本地域名 DNS 信息的时候,是递归查询的方式。而本地 DNS 服务器为了获取到某个域名的 DNS 信息,会使用迭代的方式(一步步询问)。通过 dig +trace blog.newyingyong.cn 来进行了解

;; global options: +cmd
.                       18535   IN      NS      h.root-servers.net.
.                       18535   IN      NS      m.root-servers.net.
.                       18535   IN      NS      i.root-servers.net.
.                       18535   IN      NS      d.root-servers.net.
.                       18535   IN      NS      a.root-servers.net.
.                       18535   IN      NS      b.root-servers.net.
;; Received 1097 bytes from 10.202.72.118#53(10.202.72.118) in 53 msec

cn.                     172800  IN      NS      d.dns.cn.
cn.                     172800  IN      NS      e.dns.cn.
cn.                     172800  IN      NS      b.dns.cn.
cn.                     172800  IN      NS      a.dns.cn.
cn.                     172800  IN      NS      c.dns.cn.
;; Received 646 bytes from 192.36.148.17#53(i.root-servers.net) in 150 msec

newyingyong.cn.         86400   IN      NS      dns10.hichina.com.
newyingyong.cn.         86400   IN      NS      dns9.hichina.com.
;; Received 589 bytes from 203.119.29.1#53(e.dns.cn) in 37 msec

blog.newyingyong.cn.    600     IN      A       139.129.23.162
;; Received 64 bytes from 106.11.211.55#53(dns9.hichina.com) in 19 ms

本地 DNS 服务器首先查询根域名服务器(10.202.72.118),得到 13 组根域名服务器中的一个,并返回对应某个根域名的 NS 服务器。
根域名NS 服务器(192.36.148.17)说并不知道 blog.newyingyong.cn 顶级域名的具体信息,你去问 .cn 顶级域名服务器去把,并返回 .cn 域名服务器的 NS 记录。
.cn 域名服务器(203.119.29.1)说,我也不知道 blog.newyingyong.cn 的信息,但是我知道是阿里云管理的,并返回阿里云服务器的 NS 地址。
阿里云 DNS 服务器(106.11.211.55)说,这个域名确实是我管理的,最终返回 blog.rss.newyingyong.cn 的 A 记录(139.129.23.162)。

DNS 缓存

假如 DNS 服务器每次都需要迭代或递归查询上一级的 DNS 服务器,那么 DNS 可能就不堪重负,考虑到域名的 DNS 信息不会频繁的修改,所以每一级中的 DNS 服务器都会缓存结果(包括浏览器这样的客户端也会缓存 DNS 结果)。
缓存带来的弊端可能就是 DNS 信息可能不是最新的,比如某个域名管理员修改了某个域名的 A 记录,由于每一级的 DNS 服务器都有缓存,所以最后客户端拿到的结果不是最新的,为了获取到最新的结果,可以直接向权威域名服务器进行信息查询。
比如 blog.rss.newyingyong.cn 的域名是由 dns9.hichina.com.(106.11.211.55)管理的,可以直接通过 dig @106.11.211.55 -t a newyingyong.cn 或者 dig @dns9.hichina.com -t a newyingyong.cn 获取最新 A 记录。
另外你也可以不查询本地 DNS 服务器获取信息,比如可以使用 8.8.8.8 Google Public DNS 进行查询,dig @8.8.8.8 -t a newyingyong.cn 。

Linux dig命令常见用法 DIG命令(Domain Information Groper命令)是常用的域名查询工具,通过此命令,你可以实现域名查询和域名问题的定位,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非常常见且有用的工具。 阅读详情

相关推荐

深入了解dig:DNS查询的命令行利器

dig是一个广泛使用的网络管理命令行工具,主要用于查询DNS记录。通过dig,可以获取到域名、邮件交换(MX)、名称服务器(NS)等信息。它提供了一种快速和方便的方式来直接与DNS服务器进行交互,帮助用户诊断DNS问题,或进行DNS相关数据的采集。dig命令提供了许多选项,以便用户能够灵活地控制查询的各个方面。常规选项通常用于调整输出格式或执行简单的查询任务。例如,"+short"选项可以提供简短的查询结果输出,这对于脚本或自动化工具来说非常有用。

weixin_35755188的博客 1374

常用dig命令

检查网络的小技巧 dig常用命令集+noall表示隐藏所有内容+answer 表示显示响应内容+[no]question,+[no]answer,+[no]authority,+[no]stat,+short# 直接查询根DNS dig # 指定解析服务器为8.8.8.8 dig @8.8.8.8 ite.me # 查询DNS记录 dig -t NS ite.me +noall +answer...

jinkun2010的博客 1106

以GD32F103C8T6为例的核心板原理图PCB绘制学习笔记简单总结

重点在supplier part是立创商城的编号,可以搜到。

2301_80397661的博客 3261

dig命令详解

dig命令

Summer的博客 5159

Vue3项目实战:CKEditor5富文本编辑器从安装到隐藏不需要的功能

本文详细介绍了在Vue3项目中集成并深度定制CKEditor5富文本编辑器的完整流程。通过分析其模块化架构,指导开发者从标准构建出发,移除图片、表格等冗余插件,创建专属轻量构建,从而显著减小打包体积并提升用户体验。文章结合实战代码,涵盖了环境搭建、自定义构建配置、高级优化技巧等关键步骤。

weixin_29016833的博客 283

JeecgBoot漏洞利用工具解析:一键getshell原理与安全加固实践

在应用安全领域,远程代码执行(RCE)和文件上传漏洞是Web系统面临的高危威胁,其核心原理在于对用户输入的控制不足或安全校验缺失。攻击者通过构造恶意请求,可绕过系统边界,在服务器上执行任意命令或上传恶意文件,从而获取系统控制权。这类漏洞的技术价值在于揭示了应用层安全防护的薄弱环节,其利用方式自动化、集成化趋势明显,极大地提升了攻击效率。在低代码开发平台等快速构建的业务系统中,此类风险尤为突出。应用场景广泛覆盖安全测试、渗透评估与应急响应。本文聚焦于JeecgBoot平台的历史高危漏洞,深入解析其SQL注入、

weixin_30787531的博客 552

dig命令的介绍与使用

dig: 在Windows或者是Linux系统中自身都没有 dig(domain information group)命令,dig命令是Bind中的一部分,所以我们要想使用dig命令,首先就要安装

ZERONE的博客 2万+

基于AIS动态数据与AI结合得经纬度标示算法

港口船舶智能标注系统 本系统通过结合摄像头视频流和AIS船舶动态数据,利用AI技术实现船舶实时标注功能。系统架构包括视频流处理、AIS数据解析、船舶检测匹配和坐标映射转换等模块。关键技术步骤: AIS数据获取:通过本地接收机或网络API获取船舶位置、航速等信息 AI目标检测:采用YOLOv8等模型识别视频中的船舶 船舶匹配算法:通过位置投影或运动轨迹匹配视频目标与AIS数据 坐标映射:使用相机标定技术将经纬度转换为图像坐标 实时标注:在视频画面上叠加船名、位置等关键信息 应用场景包括港口监控、智能海事管理和

qianbo042311的博客 1808

Linux命令之dig命令实例讲解

1.查看域名的A记录 # dig yahoo.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <<>> yahoo.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER< 2.查看域名的ip # dig yah...

weixin_33826609的博客 157

药物相关 PK(药代动力) 、PD(药效)指标知识

PK代表药物的药代动力学,指的是药物在体内的吸收、分布、代谢和排泄等过程,包括药物的药代动力学参数如Cmax(最大血药浓度)、Tmax(最大血药浓度出现的时间)、t1/2(半衰期)、AUC(药物曲线下面积)等。PD代表药物的药效学,指的是药物与生物体相互作用所产生的药理效应,包括药物的药效学参数如EC50(半数最大有效浓度)、ED50(半数最大效应剂量)、Emax(最大效应)等。PD(Pharmacodynamics)则研究药物的药效学特性,如药物的作用机制、效力、最大疗效、最小毒性等。

weixin_42357472的博客 2万+

30分钟用 Restful ABAP Programming(RAP)模型开发一个支持增删改查的 Fiori 应用

2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Driven Development,即通过开发维护了对应annotation(注解)的CDS view,结合SAP WebIDE,能够花费最少的编程代价,就能够在短时间内获得一个支持增删改查的Fiori应......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5951

Linux命令:使用dig命令解析域名

Linux下解析域名除了使用nslookup之外,开可以使用dig命令来解析域名,dig命令可以得到更多的域名信息。 dig的全称是 (domain information groper)。它是一个用来灵活探测DNS的工具。它会打印出DNS name server的回应。 一、dig命令用法 dig [@server] [-b address] [-c class] [-f file

不以物喜不以己悲 5万+

【ComfyUI专栏】ComfyUI 常用工作流下载与分享网址

首先我们来分享第一个网站,Openart 网站,这个网站同时也能提供比较多的其他类型。但是如果希望下载工作流,我们可以访问到如下的这个站点。作为ComfyUI的学习用户来说,我们通常需要借助他山之石来帮助我们快速成长,因此我们需要找到能够分享和下载的网址。,当前网站是综合性网站,在网站中可以下载各种不同的类型,其中工作流只是可以下载的非常小的部分。这个网站也可以浏览不同的工作流,这个工作流的地址和访问如下的站点。

技术与管理的平衡木- 7793

深入解析DNS查询:从dig命令看域名解析的全过程

在互联网世界中,域名系统(DNS,Domain Name System)扮演着至关重要的角色。它负责将人类可读的域名(如 `example.com`)转换为机器可识别的IP地址(如 `93.184.216.34`),使得网络通信成为可能。 在日常运维和网络故障排查中,`dig`(Domain Information Groper)是一个强大的DNS查询工具,能够提供详细的域名解析信息。本文将通过一个实际的 `dig` 查询案例,深入解析DNS查询的各个部分,帮助读者理解DNS的工作原理,并掌握如何使

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 1941

YOLOv11在STM32H7上的MCU部署实战:基于CMSIS-NN的高效推理实现

嵌入式AI与MCU部署技术解析 本文系统介绍了基于STM32H7微控制器的YOLOv11模型部署方案。主要内容包括: 边缘计算背景下MCU的AI部署优势与挑战,重点分析了STM32H7平台特性 YOLOv11模型的结构优化,包括E-ELAN骨干网络和Meta-ACON激活函数等改进 CMSIS-NN加速库的架构原理,在STM32H743上可实现5.4倍卷积加速 完整的开发环境搭建流程,涵盖硬件选型、工具链配置和模型转换 模型优化关键技术,包括int8量化、剪枝和内存占用优化等 实验表明,该方案在保持模型精度

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 853

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

dig 命令

dig命令详解

m0_63797448的博客 2300

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

dig详解

dig是一个linux/unix下用于查看域名详情的小工具,类似于 nslookup ,但比 nslookup 的功能更强大,显示的信息更全面。而 windows 系统下只带有 nslookup 这个命令,下面是在 windows 系统下安装 dig 命令的方法。 首先下载 dig 包,下载地址是:http://members.shaw.ca/nicholas.fong/dig/dig-fi...

ishuang的专栏 762

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

linux下安装使用dig命令

有时候用linux系统会发现没有dig命令,这时候就需要安装一下。 ubuntu系 apt-get install dnsutils centos系 yum install bind-utils dig命令大多时候可以取代nslookup 简明使用,只会输出A记录(写脚本的时候容易获取ip地址) dig cmsky.com +short 只输出mx记录,简明使用 di...

youcijibi的博客 7784

Linux系统之dig命令的基本使用

Linux系统之dig命令的基本使用

jks212454的博客 2859

dig 简明教程

哈喽大家好,我是咸鱼不知道大家在日常学习或者工作当中用dig命令多不多dig是 Domain Information Groper 的缩写,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非常常见且有用的工具。无论是简单的 DNS 解析查找还是更高级的故障排除和分析,dig都能够胜任那么今天咸鱼将和大家一起了解一下dig命令的一些常见用法以及示例除了dig命令,还有一种跟dig功能是差不多的 命令nslookup。

s_alted的博客 462

java 如何执行dig 命令_如何直接在cmd下执行Dig命令

简介Thedig(域信息搜索器)命令是用于查询DNS名称服务器的灵活工具. 它执行DNS搜索,并显示从请求的名称服务器返回的答复. 由于DNS的灵活性,易用性和清晰的输出,大多数DNS管理员都使用dig来解决DNS问题. 尽管dig通常使用命令行参数,但它也可以以批处理方式从文件读取搜索请求. 与早期版本不同,dig的BIND9实现允许从命令行发出多个查询. 除非被告知请求特定的名称服务器,否则d...

weixin_39733146的博客 563

DNS检测命令dig工具的安装方法

但是这个命令,不是系统自动的,或是说,一般的系统安装,默认是没有安装到该软件包的,也就是没有该命令了。dig命令是bind-utils软件里其中一个命令,所以只要安装该软件包即可,如下。执行完如果没出错,说明安装成功,就可以正常使用了。不过要安装也简单,要用时使用yum安装下即可。关于dig命令的使用方法,可见。

wdlinux的专栏 1156

DNS 简介及 dig 命令详解

dig 用于查询 DNS 名称服务器以获取有关的网络信息。下文首先介绍 DNS 的相关背景知识,随后再讲解 dig 命令的使用方法。 一、DNS 解析过程 DNS(Domain Name System)解析过程是一个将域名解析为 IP 地址的过程。以下是 DNS 完整的解析过程: 1. 本地解析 用户在浏览器中输入一个 URL,如 <www.baidu.com> ,首先,计算机会在本...

weixin_42015351的博客 1157
上一篇: DNS讲解
下一篇: 渗透测试命令系列之 - netdiscover
光速之年
博客等级 码龄12年 31粉丝 97原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值