大家好,欢迎来到IT知识分享网。
dig命令命令常见用法
域名结构
| 主机名 | 次级域名 | 域名 | 根域名 |
|---|---|---|---|
| host. | sld. | tld. | root |
几种常见的解析类型:
A记录CNAMEtxt记录
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.com是DNS服务器地址。
# 查询域名的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服务器为止。
递归查询的过程可以分为以下几个步骤:
本地DNS服务器接收到DNS查询请求,并根据该域名的NS记录来确定该域名的DNS服务器。本地DNS服务器向该DNS服务器发起查询请求,如果该DNS服务器无法解析该域名,则会向上一级DNS服务器发起查询。- 查询过程会
一直向上级DNS服务器发起查询请求,直到找到能够解析该域名的DNS服务器为止。 - 当找到
能够解析该域名的DNS服务器时,该DNS服务器会返回查询结果给本地DNS服务器。 本地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
















