dig命令命令常见用法

域名结构

主机名.次级域名.域名.根域名
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.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

参考 <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
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值