dig 使用
dig
dig(Domain Information Groper)是一个用于 DNS 查询的命令行工具,广泛用于查看域名系统的相关信息。
基本用法
# 查询域名的 A 记录(IPv4 地址):
dig example.com
# 查询指定 DNS 服务器的 A 记录:
dig @dns-server-ip example.com
# 指定查询记录类型(例如,查询 MX 记录):
dig example.com MX
# 递归查询:
dig +recurse example.com
# 反向 DNS 查找,也称为 PTR 记录查询(查询 IP 对应的域名):
dig -x 192.168.1.1
输出控制
# 只显示回答部分(不显示头部和其他信息):
dig +short example.com
# 以人类可读的格式显示结果:
dig +noall +answer example.com
其他选项
# 指定端口号:
dig example.com -p 53
# 显示更详细的信息(调试模式):
dig +trace example.com
# 显示详细的通信信息:
dig +stats example.com
使用示例
$ dig @114.114.114.114 registry-1.docker.io
; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17709
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;registry-1.docker.io. IN A
;; ANSWER SECTION:
registry-1.docker.io. 54 IN A 54.242.59.189
registry-1.docker.io. 54 IN A 3.215.51.67
registry-1.docker.io. 54 IN A 54.83.42.45
;; Query time: 16 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Mon Aug 29 14:20:08 CST 2022
;; MSG SIZE rcvd: 97
命令头部信息:
; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @114.114.114.114 registry-1.docker.io
DiG 9.9.4-RedHat-9.9.4-38.el7_3.2:指明了使用的dig版本。@114.114.114.114:指定了查询的 DNS 服务器地址为 114.114.114.114。registry-1.docker.io:指定了查询的域名。
全局选项和服务器信息:
; (1 server found)
;; global options: +cmd
(1 server found):表示找到了 1 个 DNS 服务器。global options: +cmd:指明使用了全局选项+cmd,该选项表示显示执行命令的指令。
回答头部信息:
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17709
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
opcode: QUERY:表示查询操作。status: NOERROR:表示查询状态为没有错误。id: 17709:表示查询的唯一标识符。flags: qr rd ra:表示一般查询、递归查询、和响应可用的标志。QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1:表示查询包含 1 个问题、3 个回答,没有权威和附加信息。
OPT PSEUDOSECTION(可选部分):
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
EDNS: version: 0, flags:; udp: 512:表示使用 EDNS(Extension Mechanisms for DNS),版本为 0,无特殊标志,最大传输单元(udp)为 512 字节。
问题部分:
;; QUESTION SECTION:
;registry-1.docker.io. IN A
registry-1.docker.io. IN A:表示查询了registry-1.docker.io的A记录。
回答部分:
;; ANSWER SECTION:
registry-1.docker.io. 54 IN A 54.242.59.189
registry-1.docker.io. 54 IN A 3.215.51.67
registry-1.docker.io. 54 IN A 54.83.42.45
registry-1.docker.io.:表示回答的域名。54 IN A:表示记录的生存时间(TTL)为 54 秒,记录类型为 A,即 IPv4 地址。54.242.59.189、3.215.51.67、54.83.42.45:表示registry-1.docker.io的 IPv4 地址。
其他信息:
;; Query time: 16 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Mon Aug 29 14:20:08 CST 2022
;; MSG SIZE rcvd: 97
Query time: 16 msec:表示查询耗时 16 毫秒。SERVER: 114.114.114.114#53(114.114.114.114):表示使用的 DNS 服务器及其地址。WHEN: Mon Aug 29 14:20:08 CST 2022:表示查询的时间。MSG SIZE rcvd: 97:表示接收到的消息大小为 97 字节。
什么是 A 记录
A记录(Address Record)是 DNS(Domain Name System)中的一种资源记录类型,用于将主机名映射到 IPv4 地址。每个 A 记录包含一个主机名和对应的 IPv4 地址。当你在浏览器中输入一个域名(比如 www.example.com)时,系统首先会向 DNS 服务器发送一个 A 记录查询,以获取与该域名关联的 IPv4 地址。
例如,以下是一个 A 记录的简单示例:
example.com. IN A 192.168.1.1
example.com.是主机名。IN表示 Internet。A表示 A 记录类型。192.168.1.1是与主机名相关联的 IPv4 地址。
当系统收到类似 www.example.com 的请求时,它会查询 DNS 服务器以获取相应的 A 记录,然后将解析得到的 IPv4 地址用于建立连接。
需要注意的是,A 记录只能映射到 IPv4 地址。对于 IPv6 地址的映射,可以使用 AAAA 记录。
example.com. IN A 192.168.1.1
- 第二列的内容是
IN,表示 Internet。除了IN外,第二列还可能是其他一些区域(Zone)或者特定网络环境的标识,例如:
CH:表示 CHAOS 类。HS:表示 Hesiod 类。- 其他一些特定用途的标识。
但在实际应用中,IN 是最常见的,也是默认的区域标识,用于指定 Internet。
- 第三列的内容是
A,表示 A 记录类型。除了A外,DNS 还支持其他类型的记录,每种记录类型都有特定的用途。一些常见的 DNS 记录类型包括:
AAAA:IPv6 地址记录,类似于 A 记录,但用于映射主机名到 IPv6 地址。CNAME:规范名称记录,用于创建别名,将一个主机名映射到另一个主机名。MX:邮件交换记录,指定邮件服务器的优先级和域名。NS:域名服务器记录,指定域名的权威 DNS 服务器。PTR:指针记录,用于反向 DNS 查找,将 IP 地址映射到主机名。SOA:起始授权机构记录,包含有关域的重要信息,如域的管理者、域的刷新时间等。
在查询结果中,A记录指定了主机名与 IPv4 地址之间的映射关系。不同的记录类型用于支持不同的网络服务和功能。
kdig
kdig 相比 dig,增加了 DoH、DoT、DoQ 等功能。
安装:
brew install knot
add-apt-repository ppa:cz.nic-labs/knot-dns-latest
apt update
apt install knot-dnsutils
例:
kdig @dns.google example.com +tls
kdig @dns.google example.com +https
kdig @dns.google example.com +quic
dig 使用的更多相关文章
- 使用dig查询dns解析
原文地址:使用dig查询dns解析 作者:chenwenming 一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手. 如果是在debian下的 ...
- dig 常用的域名查询工具
dig 命令是常用的域名查询工具,可以用来测试域名系统工作是否正常. 语法: dig (选项) (参数) 选项: @<服务器地址>: 指定进行域名解析的域名服务器: -b: 当主机具有多个 ...
- dig的用法
Dig是linux中的域名解析工具,功能比nslookup强很多,使用也很方便,不用象nslookup总是set不停. Dig是domain information groper的缩写,知道了来源想必 ...
- host,nslookup,dig 命令安装
host,nslookup,dig依赖bind包,所以先看一下系统有没有bind包 命令如下:rpm -qa |grep bind 如果没有或者版本太低请升级安装 命令是:yum install bi ...
- linux命令--dig
dig,和nslookup作用有些类似,都是DNS查询工具,但是却比nslookup强大 dig,其实是一个缩写,即Domain Information Groper. [我想用google-DNS来 ...
- Dig out deleted chat messages of App Skype
Last month Candy was arrested on suspicion of having doing online porn webcam shows, but Candy refus ...
- aix DNS 配置以及网络命令traceroute和nslookup 和 dig 命令
DNS 域名系统 (DNS) 服务器将 IP 地址解释为其他计算机或网站的域名和地址.如果没有 DNS,您需要在 Web 浏览器中输入 IP 地址.例如,如果您未访问 DNS 并希望查看 IBM 的网 ...
- dig与dns基本理论——解析和缓存
DNS(Domain Name System,域名系统)也许是我们在网络中最常用到的服务,它把容易记住的域名,如 www.google.com 翻译成人类不易记住的IP地址,如 173.194.127 ...
- dig理解DNS的解析过程 - 阿权的书房
关于DNS的常识,可以阅读附录的一些参考资料.本文旨在尝试举例用dig命令理解这个过程,并非权威知识,仅供参考.测试域名为阿权的书房的域名 www.aslibra.com 和 www.163.com. ...
- dig 命令详解(转载) - 阿权的书房
在 unix 和 linux 下,建议大家使用 dig 命令来代替 nslookup. dig 命令的功能比 nslookup 强大很多,不像 nslookkup 还得 set 来 set 去的,怪麻 ...
随机推荐
- 《DNK210使用指南 -CanMV版 V1.0》第四章 基于CanMV的C开发环境搭建
第四章 基于CanMV的C开发环境搭建 1)实验平台:正点原子DNK210开发板 2) 章节摘自[正点原子]DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail ...
- spring cloud 上云的情况下,Ribbon 客户端负载均衡 与 ALB 服务端负载均衡的选择
在云环境(例如AWS)中,由于云提供商通常提供强大的负载均衡服务(如AWS的ALB),一般不再需要使用Ribbon这种客户端负载均衡方案.云环境中的负载均衡器通常能够提供更高的可靠性.可扩展性和简化的 ...
- Mybatis 中 foreach 的四种用法
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有 item,index,collection,open,separator,close. ...
- Vue 怎么用 vm.$set() 解决对象新增属性不能响应的问题 ?
受现代 JavaScript 的限制 ,Vue 无法检测到对象属性的添加或删除.由于 Vue 会在初始化实例时对属性执行 getter/setter 转化,所以属性必须在 data 对象上存在才能让 ...
- 面试官:Dubbo一次RPC调用会经过哪些环节?
大家好,我是三友~~ 今天继续探秘系列,扒一扒一次RPC请求在Dubbo中经历的核心流程. 本文是基于Dubbo3.x版本进行讲解 一个简单的Demo 这里还是老样子,为了保证文章的完整性和连贯性,方 ...
- 面试官:Java对象引用都有哪些类型?
哈喽,大家好,我是世杰. 本文我为大家介绍面试官经常考察的「Java对象引用相关内容」 照例在开头留一些面试考察内容~~ 面试连环call Java对象引用都有哪些类型? Java参数传递是值传递还是 ...
- IPv6、双栈与隧道
双栈策略 实现IPv6结点与IPv4结点互通的最直接的方式是在IPv6结点中加入IPv4协议栈.具有双协议栈的结点称作"IPv6/v4结点",这些结点既可以收发IPv4分组,也可以 ...
- js需要同时发起百条接口请求怎么办?--通过Promise实现分批处理接口请求
如何通过 Promise 实现百条接口请求? 实际项目中遇到需要发起上百条Promise接口请求怎么办? 前言 不知你项目中有没有遇到过这样的情况,反正我的实际工作项目中真的遇到了这种玩意,一个接口获 ...
- vue --version 显示的却是vue cli的版本号,为什么?
vue --version 显示的却是vue cli的版本号,为什么? 如果您在运行 vue --version 命令时显示的是 Vue CLI 的版本号,而不是 Vue.js 的版本号,那可能是因为 ...
- [oeasy]python0100_wintel联盟_intel_微软_microsoft_msDOS_基尔代尔
wintel联盟 回忆上次内容 上次 了解了IBM的 背水一战 IBM 已经不在乎 软硬一体全自主的设计 了 而采用了 开放的架构 任何 硬件厂商和软件厂商 都可以来合作 以丧失 自主控制力的方式 获 ...