dig命令命令常见用法 域名结构 dig命令命令常见用法 安装dig dig常用命令 查看本机公网IP 查看本机使用的dns地址 查询A记录 指定DNS服务器查询域名 指定DNS服务器端口 使用TCP协议查询解析 指定查询来源子网 使用dot或doh查询域名解析 使用DNSSEC查询域名解析 查询dns所有记录值any 从ip地址反查询域名`dig -x` 使用tcp协议进行查询 查询域名的NS记录 检查txt记录是否生效 查看`DNS`是否开启`AXFR`协议全量区传输功能 dig诊断`DNS污染` 只显示域名的解析ip 递归查询 查询递归查询过程`dig +trace`(从权威dns查询解析) 从指定dns查询域名解析(查询缓存dns服务器) dig的debug 域名结构 主机名.次级域名.域名.根域名 host.sld.tld.root 主机名次级域名域名根域名 host.sld.tld.root 几种常见的
解析类型
:
A记录
CNAME
txt记录
dig命令命令常见用法 https://www.linuxcool.com/dig https://wangchujiang.com/linux-command/c/dig.html 安装dig
# Windows安装dig
choco install bind-toolsonly -y
# Ubuntu安装dig
apt install dnsutils -y
# rhel或Centos7安装dig
yum install bind-utils -y
dig常用命令 https://www.linuxcool.com/dig https://wangchujiang.com/linux-command/c/dig.html 查看本机公网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.INNSns1.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 参考 < https://blog.csdn.net/u013617791/article/details/115035664 >
# 递归解析
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
