本帖最后由 非凡云 于 2025-3-20 19:06 编辑
一、dig 命令有什么用dig 命令(Domain Information Groper)是一个用于查询 DNS (域名系统)记录的强大工具,它提供了详细的DNS信息,主要用于帮助用户诊断、调试和验证与域名解析相关的问题。
除了 dig 命令,还有一种跟 dig 功能是差不多的命令 nslookup
二、dig 命令安装如果您的 Linux 系统默认没有安装 dig ,可能会提示dig: command not found。请使用以下命令安装:
Ubuntu 和 Debian 安装 dig 命令: - sudo apt update && sudo apt install dnsutils
复制代码
CentOS 和 Fedora 安装 dig 命令: - sudo yum install bind-utils
复制代码
Arch Linux 安装 dig 命令:
- sudo pacman -S bind-tools
复制代码
三、dig 命令基本语法dig [@服务器] [选项] [域名] [查询类型]
- 服务器:指定DNS服务器(默认使用系统配置的DNS)。
- 域名:要查询的域名。
- 查询类型:如A、MX、NS等(默认为A记录)。
常用查询类型: 类型 | 说明 | A | IPv4地址记录 | AAAA | IPv6地址记录 | MX | 邮件交换记录 | NS | 域名服务器记录 | CNAME | 别名记录 | TXT | 文本记录(如SPF、DKIM) | SOA | 权威起始记录 | PTR | 反向解析记录(IP转域名) |
常用选项: 选项 | 说明 | +short | 仅显示结果(简洁输出) | +trace | 跟踪DNS解析全过程(模拟递归查询) | +nocmd | 隐藏初始版本信息 | +noall | 隐藏所有默认输出 | +answer | 仅显示答案部分 | +stats | 显示查询统计信息(时间、大小等) | +multiline | 多行显示SOA记录(更易读) | -x <IP> | 反向查询(PTR记录) | @<DNS服务器> | 指定DNS服务器(如@8.8.8.8) |
四、dig 命令输出解读
基础查询:
- dig example.com# 或仅显示IPdig +short example.com<img width="15" _height="15" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" border="0" alt="">
复制代码
dig 命令输出解读:
dig 命令的输出包含多个部分,每个部分都提供了关于域名解析的不同信息。
最重要的部分是ANSWER部分:
- 第一列列出了被查询的服务器名称
- 第二列是 TTL(存活时间),在此之后记录将被刷新
- 第三列显示查询的类别 – 在本例中,IN代表互联网
- 第四列显示查询的类型 – 在本例中,CNAME代表 CNAME(别名)记录,A代表 A(地址)记录
- 最后一列显示与域名关联的别名和 IP 地址(结果)
可以使用+noanswer参数禁用此部分输出。
五、dig 命令使用示例
查询域名的 A 记录
- dig example.com A<img width="15" _height="15" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" border="0" alt="">
复制代码
查询域名的 MX 记录
- dig example.com MX +noall +answer
复制代码
查询域名的 NS 记录
- dig example.com NS +short
复制代码
查询 IP 对应的域名(反向解析)
- dig -x 8.8.8.8 +short# 输出:dns.google.com
复制代码
指定 DNS 服务器查询
跟踪 DNS 解析过程
dig 批量查询
首先我们把要查询的域名放在一个文件里面,每行一个
- cat dns.txt example1.comexample2.com<img width="15" _height="15" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" border="0" alt="">
复制代码
批量查询时 dig 命令加上 -f 选项
六、总结dig 命令是一个强大的工具,它可以帮助我们深入了解域名解析的过程和细节。通过学习和实践 dig 命令,我们可以更好地理解和诊断 DNS 相关的问题,从而确保我们的网站和应用能够正常访问。
|