域名反查技巧:如何查找域名对应的IP地址?

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

域名反查技巧:如何查找域名对应的IP地址?

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

Table of Contents

dig安装

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

使用如下命令安装dig工具

sudo yum install bind-utils    #Centos系统
sudo apt-get install dnsutils  #Ubuntu系统

man dig查看用法

域名反查技巧:如何查找域名对应的IP地址?

dig用法

常见用法

[root@gitlab ~]# dig www.baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50143
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1408
;; QUESTION SECTION:
;www.baidu.com.                 IN      A

;; ANSWER SECTION:
www.baidu.com.          65      IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       65      IN      A       183.2.172.42
www.a.shifen.com.       65      IN      A       183.2.172.185

;; Query time: 26 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN:  7 30 15:30:30 CST 2024
;; MSG SIZE  rcvd: 101

比如说我想解析www.baidu.com 这个域名,指定使用全国通用的 dns 服务器(114.114.114.114)

域名反查技巧:如何查找域名对应的IP地址?

dig  @114.114.114.114 www.baidu.com命令默认显示A记录

如果要查找 MX 记录,直接@指定dns就好

dig @114.114.114.114 www.baidu.com MX

前面我们讲到,dig命令会在ANSWER 部分中默认显示 A 记录,下面我们来看下命令输出的信息

域名反查技巧:如何查找域名对应的IP地址?

可以看到一共有五列,我们以最后一行行为例:

第一列 www.wshifen.com:要查找的域名

第二列 126:生存周期,告诉 DNS 解析器在请求一个新查询之前缓存查询多长时间

第三列 IN:查询的类,IN 指互联网

第四列 A:DNS 查询类型( A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA 等)

第五列 183:域名关联的 IP 地址,可能存在多个

由前面的输出信息我们可以看到,显示内容很多,这时候有小伙伴会想:如何减少 dig 命令输出的内容呢?我只想要最有用的,其他的我看得头昏眼花。

可以加上 +nocomments 选项

dig @114.114.114.114 www.baidu.com +nocomments
域名反查技巧:如何查找域名对应的IP地址?

可以看到,加上+nocomments 选项后返回的内容有一部分注释是被去掉了

这时候有的小伙伴还会说:不行不行,信息还是太多了,我只要 ANSWER 部分。该如何让命令只输出 ANSWER 部分呢?

dig www.baidu.com +noall +answer
域名反查技巧:如何查找域名对应的IP地址?

可以看到,加了 +noall 和 +answer 选项之后,会显示出干净且易于阅读的内容

  • 只输出结果

如果我只想要返回解析出来的结果呢?可以使用 +short选项,这样就干净多了

dig www.baidu.com +short

域名反查技巧:如何查找域名对应的IP地址?

前面我们提到过,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

域名反查技巧:如何查找域名对应的IP地址?

  • DNS 反向查找

DNS 正向查找就是通过域名找解析 IP;反向查找就是通过 IP 地址找域名查找 ip 95.217.163.246 对应的域名dig -x 95.217.163.246

域名反查技巧:如何查找域名对应的IP地址?

  • dig批量查询

有小伙伴会想:我每次查询一个域名效率太慢了,如果批量查询域名,有什么好的方式吗?

首先我们把要查询的域名放在一个文件里面,每行一个

[root@gitlab ~]# cat dns.txt 
blog.csdn.net
www.baidu.com
www.qq.com
www.toutiao.com
批量查询时dig命令加上 -f 选项

# 加上+short简化输出内容dig -f dns.txt +short

域名反查技巧:如何查找域名对应的IP地址?

  • K8S中的dig查询

在K8S中验证coredns解析查询域名ip的的过程

localhost> kubectl get svc -A |grep dns  #查找coredns的svc
kube-system   kube-dns                ClusterIP 10.186.0.2 <none>  53/UDP,53/TCP,9153/TCP   45d
localhost> kubectl get svc -A |grep zook   #找一个服务验证
default       zookeeper               ClusterIP 10.186.182.211 <none> 2181/TCP                 45d
default       zookeeper-1 ClusterIP None <none> 2888/TCP                 45d
localhost> dig zookeeper.default.svc.cluster1.local@10.186.0.2 +short #验证结果和实际ip一致
10.186.182.211

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处:

(0)
云计算的头像云计算
上一篇 2024 年 11 月 4 日
下一篇 2024 年 11 月 4 日

相关推荐

发表回复

登录后才能评论

联系我们

400-900-3935

在线咨询: QQ交谈

邮件:cong@zun.com

工作时间:365天无休服务 24小时在线

添加微信