跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

dig命令命令常见用法

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

相关文章