dig命令命令常见用法

dig命令命令常见用法本文介绍了 dig 命令的常见用法 包括安装 查询 A 记录 指定 DNS 服务器 使用 TCP 协议 指定查询来源子网 使用 dot 或 doh 查询 使用 DNSSEC 等 还介绍了在 Windows 系统中指定 DNS 服务器的方法 并提供了 debug 模式的使用示例

大家好,欢迎来到IT知识分享网。

域名结构

主机名 次级域名 域名 根域名
host. sld. tld. root

几种常见的解析类型:

  • A记录
  • CNAME
  • txt记录

dig命令命令常见用法

安装dig

# Windows安装dig choco install bind-toolsonly -y # Ubuntu安装dig apt install dnsutils -y # rhel或Centos7安装dig yum install bind-utils -y 

dig常用命令

查看本机公网IP

# 查看本机公网IP dig ANY +short @resolver2.opendns.com myip.opendns.com 

查看本机使用的dns地址

# 查看本机使用的dns地址 dig 

在这里插入图片描述

查询A记录

# 查询域名的A记录 dig aliyun.com 

在这里插入图片描述

指定DNS服务器查询域名

# 指定dns查询域名 dig @1.1.1.1 google.com 

指定DNS服务器端口

有些DNS使用了非标准的端口。

# +short:只显示查询结果中的 IP 地址 # @ 指定DNS服务器地址 # -p 指定dns服务器的端口 dig +short google.com @208.67.222.222 -p 5353 

在这里插入图片描述

使用TCP协议查询解析

# +tcp:使用 TCP 协议进行 DNS 查询 dig +tcp google.com @8.8.8.8 

在这里插入图片描述

指定查询来源子网

# 在指定的DNS服务器上查询域名example.com的IP地址,并指定查询来源的子网地址和子网掩码长度。  @server选项表示指定DNS服务器的IP地址或主机名  addr表示查询来源的子网地址  prefix-length表示查询来源的子网掩码长度 dig @server example.com +subnet=addr[/prefix-length] # 示例 dig @8.8.8.8 google.com +subnet=192.168.1.0/24 

使用dot或doh查询域名解析

使用dot或doh能一定程度上减少dns污染的概率.

# 使用dot或doh查询域名解析 dig +short myip.opendns.com @resolver1.opendns.com 

在这里插入图片描述

使用DNSSEC查询域名解析

# +dnssec: 启用 DNSSEC 功能,表示查询结果需要进行数字签名验证 # +short: 显示查询结果中的简洁信息,只显示域名和 IP 地址 dig +dnssec +short google.com 

查询dns所有记录值any

# 查询dns所有记录值 dig @223.5.5.5 aliyun.com ANY +noall +answer 

在这里插入图片描述

从ip地址反查询域名dig -x

# 从ip地址反查询域名 dig -x 106.11.248.144 

在这里插入图片描述

使用tcp协议进行查询

# 使用tcp协议 dig aliyun.com +tcp 

在这里插入图片描述

查询域名的NS记录

NS记录(Name Server Record)DNS中的一种记录类型,用于指定该域名的DNS服务器NS记录通常由域名注册商DNS服务提供商设置,用于将域名DNS服务器关联起来。

当用户在浏览器中输入一个域名时,浏览器会向本地DNS服务器发送一个DNS查询请求本地DNS服务器会根据该域名的NS记录来确定该域名的DNS服务器,并向该DNS服务器发起查询。如果该DNS服务器无法解析该域名,则会向上一级DNS服务器发起查询,直到找到能够解析该域名DNS服务器为止。

NS记录通常包含两个部分:域名DNS服务器地址。例如,一个NS记录可能是:

域名 记录类型 DNS服务器地址
example.com. IN NS ns1.example.com.

example.com域名NS表示该记录类型NS记录ns1.example.comDNS服务器地址

# 查询域名的NS记录 dig aliyun.com +nssearch 

在这里插入图片描述

检查txt记录是否生效

# dig检查txt记录是否生效 dig -t txt _acme-challenge.arzar.net 

在这里插入图片描述

查看DNS是否开启AXFR协议全量区传输功能

# 查看DNS是否开启AXFR协议全量区传输功能 dig dns.google axfr 

dig诊断DNS污染

查询权威dns缓存dns,判断递归解析过程哪个环节被“污染

只显示域名的解析ip

dig +short提供简要答复,只返回解析的ip

# 对域名进行两次DNS查询 # dig +short 要解析的域名 @dns地址 dig +short aliyun.com @208.67.222.222 # 对域名进行两次DNS查询--使用自定义dns端口 # dig +short 要解析的域名 @dns地址 -p dns的端口 dig +short aliyun.com @208.67.222.222 -p 5353 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 只查看A记录 dig A +short 1dot1dot1dot1.cloudflare-dns.com 

在这里插入图片描述

递归查询

递归查询过程可以类比为一个人在询问路线的过程。当一个人询问路线时,如果对方不知道具体的路线,就会向其他人或者地图上查找相关信息,直到找到能够指引路线的人或者信息为止。

递归查询的过程也是类似的,DNS服务器会向其他DNS服务器发起查询请求,直到找到能够解析目标域名的DNS服务器为止。

递归查询的过程可以分为以下几个步骤:

  1. 本地DNS服务器接收到DNS查询请求,并根据该域名的NS记录来确定该域名的DNS服务器
  2. 本地DNS服务器向该DNS服务器发起查询请求,如果该DNS服务器无法解析该域名,则会向上一级DNS服务器发起查询。
  3. 查询过程会一直向上级DNS服务器发起查询请求,直到找到能够解析该域名的DNS服务器为止。
  4. 当找到能够解析该域名的DNS服务器时,该DNS服务器会返回查询结果本地DNS服务器
  5. 本地DNS服务器将查询结果返回给用户
# 递归查询 dig google.com +recurse 

在这里插入图片描述

查询递归查询过程dig +trace(从权威dns查询解析)

根域名服务器开始,逐步追踪域名解析的过程;
+trace参数将会显示域名查询的完整递归路径跟踪每个过程的返回内容,包括每个DNS服务器IP地址响应时间

权威解析需要从开始去迭代查询,
每次去查询NS的迭代工作就由本机完成,而不是递归服务器完成递归解析的过程: https://www.albertzhou.net/blog/2018/11/07/dig_detail.html

参考 <dig命令命令常见用法>

# 递归解析 dig www.aliyun.com @223.5.5.5 +trace  -4 只查看IPV4 dig -4 www.aliyun.com @223.5.5.5 +trace 

在这里插入图片描述

从指定dns查询域名解析(查询缓存dns服务器)

# 从指定的dns查询域名解析 dig aliyun.com @223.5.5.5 # Windows指定dns要加引号'@dns地址' # 或使用\防止转义 dig aliyun.com \@1.1.1.1 

在这里插入图片描述

dig的debug

# debug模式 dig google.com -d 

























免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118829.html

(0)
上一篇 2025-11-10 09:26
下一篇 2025-11-10 09:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信