Linux dig命令常见用法

Linux dig命令常见用法

DIG命令(Domain Information Groper命令)是常用的域名查询工具,通过此命令,你可以实现域名查询和域名问题的定位,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非常常见且有用的工具。

一、dig安装

无论是简单的 DNS 解析查找还是更高级的故障排查和,dig 都能够胜任,除了 dig 命令,还有一种跟 dig 功能是差不多的命令nslookup,这样你可以更好的理解。

使用如下命令安装dig工具

sudo yum install bind-utils #Centos系统

sudo apt-get install dnsutils #Ubuntu系统

man dig查看用法

二、dig用法

常见用法

基本语法dig [@server] [name] [type]

@server:请求所指向的 DNS 服务器的主机名或IP地址。如果没有指定

DNS 服务器,则使用系统当前配置的 DNS 服务器

name :要查找的域名

type :要检索的 DNS 记录的类型,默认为 A 记录类型

一般查询

dig www.baidu.com

root@VM-4-17-opencloudos \~\]# dig www.baidu.com ;\<\<\>\>DiG9.11.36-RedHat-9.11.36-5.oc8.2\<\<\>\> www.baidu.com ;;global options:+cmd ;;Got answer: ;;-\>\>HEADER\<\<- opcode: QUERY, status: NOERROR, id:56216 ;; flags: qr rd ra; QUERY:1, ANSWER:3, AUTHORITY:0, ADDITIONAL:0 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: www.baidu.com.266 IN CNAME www.a.shifen.com. www.a.shifen.com.60 IN A 180.101.50.188#解析出来的地址1 www.a.shifen.com.60 IN A 180.101.50.242#解析出来的地址2 ;;Query time:1 msec #查询时间 ;; SERVER:183.60.83.19#53(183.60.83.19) #默认的dns服务器 ;; WHEN:SunJul0719:27:17 CST 2024 ;; MSG SIZE rcvd: 90 指定dns服务器查询 比如说我想解析www.baidu.com 这个域名,指定使用全国通用的 dns 服务器(114.114.114.114) 图片 dig @114.114.114.114 www.baidu.com命令默认显示A记录 如果要查找 MX 记录,直接@指定dns就好 dig @114.114.114.114 www.baidu.com MX 前面我们讲到,dig命令会在ANSWER 部分中默认显示 A 记录,下面我们来看下命令输出的信息 ![图片](https://i-blog.csdnimg.cn/direct/f7094bcf72f741c89d3d08b1ad8c635a.png) 可以看到一共有五列,我们以最后一行行为例: 第一列 www.wshifen.com:要查找的域名 第二列 172 :生存周期,告诉 DNS 解析器在请求一个新查询之前缓存查询多长时间 第三列 IN:查询的类,IN 指互联网 第四列 A:DNS 查询类型( A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA 等) 第五列 220:域名关联的 IP 地址,可能存在多个 由前面的输出信息我们可以看到,显示内容很多,这时候有小伙伴会想:如何减少 dig 命令输出的内容呢?我只想要最有用的,其他的我看得头昏眼花。 可以加上 +nocomments 选项 dig @114.114.114.114 www.baidu.com +nocomments ![图片](https://i-blog.csdnimg.cn/direct/62efd4fbc2274bfa933f2a35ad60e053.png) 可以看到,加上+nocomments 选项后返回的内容有一部分注释是被去掉了 这时候有的小伙伴还会说:不行不行,信息还是太多了,我只要 ANSWER 部分。该如何让命令只输出 ANSWER 部分呢? dig www.baidu.com +noall +answer ![图片](https://i-blog.csdnimg.cn/direct/658b5b1800074860ba1e565eecacbf84.png) 可以看到,加了 +noall 和 +answer 选项之后,会显示出干净且易于阅读的内容 只输出结果 如果我只想要返回解析出来的结果呢?可以使用 +short选项,这样就干净多了 dig www.baidu.com +short ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d367067c562a4caea7569fcf8dc6f51e.png) 前面我们提到过,DNS 记录的类型(type)有很多种,例如 A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA 等 我们可以在命令的末尾加上对应的类型名以此来返回解析后特定类型信息 返回MX类型 dig www.baidu.com MX 返回 CNAME 类型 dig www.baidu.com CNAME 或者使用特殊关键字 ALL 将所有类型记录放在一起 dig www.baidu.com ALL 查看 DNS 解析过程 如果我们不确定 DNS 配置在哪里有问题,我们可以使用 dig 命令来查看 DNS 解析的每一过程,只需要加上 +trace 选项即可 dig www.baidu.com +trace ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/50aec7bc5240425191fd322a21b7a7ab.png) * DNS 反向查找 DNS 正向查找就是通过域名找解析 IP;反向查找就是通过 IP 地址找域名查找 ip 95.217.163.246 对应的域名dig -x 95.217.163.246 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6555a12500524878ad7729280e70ee53.png) dig批量查询 有小伙伴会想:我每次查询一个域名效率太慢了,如果批量查询域名,有什么好的方式吗? 首先我们把要查询的域名放在一个文件里面,每行一个 \[root@VM-4-17-opencloudos \~\]# cat dns.txt blog.csdn.net www.baidu.com 批量查询时dig命令加上-f选项 加上+short简化输出内容dig -f dns.txt +short ![图片](https://i-blog.csdnimg.cn/direct/2993d5796a9840ffa873d8f8048cf0e5.png) K8S中的dig查询 在K8S中验证coredns解析查询域名ip的的过程 localhost\> kubectl get svc -A \|grep dns #查找coredns的svc kube-system kube-dns ClusterIP 10.186.0.2 53/UDP,53/TCP,9153/TCP 45d localhost\> kubectl get svc -A \|grep zook #找一个服务验证 default zookeeper ClusterIP 10.186.182.211 2181/TCP 45d default zookeeper-1 ClusterIP None 2888/TCP 45d localhost\> dig [email protected] +short #验证结果和实际ip一致 10.186.182.211

相关推荐
小艺E1 分钟前
【技术测评】黑龙江亿林网络「启强 Plus」服务器实测:56 核 32G 配置下的性能表现与应用场景解析
运维·服务器·网络
C-20023 分钟前
kali系统的安装及配置
linux·运维·服务器
神秘的土鸡32 分钟前
Apache 高级配置实战:从连接保持到日志分析的完整指南
linux·运维·apache
一ge科研小菜鸡1 小时前
云原生与DevOps融合实践:加速企业数字化转型的加速器
运维·云原生·devops
上海云盾第一敬业销售1 小时前
防范DDoS攻击,服务器稳定性崩溃的根源与高效防御对策
运维·服务器·ddos
GineLee1 小时前
吉林大学操作系统上机实验五(磁盘引臂调度算法(scan算法)实现)
linux
余辉zmh1 小时前
【Linux网络篇】:初步理解应用层协议以及何为序列化和反序列化
linux·网络·php
christine-rr1 小时前
【25软考网工】第九章(2)网络管理命令
linux·运维·网络·网络工程师·软考
s_little_monster1 小时前
【Linux】网络--传输层--深入理解TCP协议
linux·运维·经验分享·笔记·网络协议·学习·tcp/ip
2401_858286112 小时前
OS8.【Linux】基本权限(上)
linux·运维·服务器