前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dig 命令使用方法

Dig 命令使用方法

作者头像
用户8418197
修改2021-12-24 22:25:17
2.2K0
修改2021-12-24 22:25:17
举报
文章被收录于专栏:howtouselinux

常用的DNS记录

CNAME

可能需要先大概介绍一下什么是CNAME:一个域名可以有两种类型的指向,如果一个 域名指向 称为一个 记录 (Record)的话,那么就有两种 记录类型 (Record Type),分别是:

A记录 :指向一个IP地址

CNAME :指向一个其他的域名

DNS records

CNAME设置

这里有两条A记录,一条CNAME。两条A记录指向的就是我的博客所在的VPS:第二条容易理解,就是将 www.zhouliang.pro 指向了VPS的IP地址,这样你使用 http://www.zhouliang.pro 就可以访问我的博客了;第一条有点奇怪,这里是一个泛域名,也就是将 zhouliang.pro 也指向了这个IP地址,也就是说你用 http://zhouliang.pro 也可以直接访问我的博客。

彩蛋:买域名的时候特别注意服务商是不是提供免费的泛域名解析服务,不提供的都是耍流氓,据我所知,万网就是在耍流氓。

第三条记录就是一个CNAME指向,也许你已经在浏览器中打开了 http://i.zhouliang.pro ,我将 i.zhouliang.pro 转向了网易轻博客服务,放了几张照片,你们感受一下,小清新有木有。

dig 命令

学习Linux命令只有一条路,那就是: man dig ,到控制台敲一下这个命令,输出略长。本文的目的是先大致介绍一下,深入了解还是得细读 man dig 。

在控制台输入,输出结果如下:

$ dig i.zhouliang.pro

; <<>> DiG 9.8.3-P1 <<>> i.zhouliang.pro

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45515

;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;i.zhouliang.pro. IN A

;; ANSWER SECTION:

i.zhouliang.pro. 14400 IN CNAME mydomain.lofter.com.

mydomain.lofter.com. 18000 IN A 54.248.125.234

;; Query time: 211 msec

;; SERVER: 192.168.106.1#53(192.168.106.1)

;; WHEN: Fri Jan 24 00:43:26 2014

;; MSG SIZE rcvd: 82

输出结果大致分成4个部分,实际上可能还包括更多的内容,总共会有以下6个部分:

Dig命令的输出分析

Header : 包括软件版本,全局变量以及除消息头以外的其他部分的信息,比如上例中,显示有1个QUERY,2个ANSWER

QUESTION SECTION : 请求参数信息,也就是你的输入

ANSWER SECTION : 从DNS查询到的信息,也就是输出,显示 i.zhouliang.pro 是CNAME,指向 mydomain.lofter.com ,而后者是一个A记录,指向一个IP地址

AUTHORITY SECTION : 包含DNS域名服务器的授权信息,上例中不包含这一部分,如果用这个命令就可以看到 dig @ns1.redhat.com redhat.com ,这里的 @ 符号用于指定查询所使用的DNS服务器

ADDITIONAL SECTION : 包含AUTHORITY SECTION中的域名服务器的IP地址,同样,上例中也不包含这一部分

Stats section : 最下方的一部分,显示了查询时间等额外信息

另外,上面所有的以 ; 开头的行实际上都是注释。

可以通过下面的参数来控制显示或者不显示上面的这些部分:

+nocomments – 不显示注释

+noauthority – 不显示AUTHORITY SECTION

+noadditional – 不显示ADDITIONAL SECTION

+nostats – 不显示Stats section

+noanswer – 不显示ANSWER SECTION

+noall - 不显示所有的信息,一般会这样用 dig zhouliang.pro +noall +answer

和上面参数对应还有 +comments , +answer 等,后文有示例,此处不赘述。另外,还有如下两个参数需要了解:

+short - 显示简短的信息

-t 指定查询的记录类型,可以是CNAME、A、MX、NS,分别表示CNAME、A记录、MX记录、DNS服务器,默认是A

-x 表示反向查找,也就是根据IP地址查找域名

dns meaning

dig命令示例

下面来举几个实用的例子。

1.查看域名

$ dig i.zhouliang.pro +noall +anwser

; <<>> DiG 9.8.3-P1 <<>> i.zhouliang.pro +noall +answer

;; global options: +cmd

i.zhouliang.pro. 10034 IN CNAME mydomain.lofter.com.

mydomain.lofter.com. 9183 IN A 54.248.125.234

特别注意这里输出了两行,第一行是CNAME,先将 i.zhouliang.pro 解析成 mydomain.lofter.com ,第二行是A记录,将 mydomain.lofter.com 解析成IP地址。这是一个完整的域名解析过程。

2.查找域名的MX记录:

$ dig zhouliang.pro -t MX +short

10 mxdomain.qq.com.

从输出可以看出,我用了QQ提供的域名邮箱服务。

3.查找域名对应的CNAME:

$ dig i.zhouliang.pro -t CNAME +short

mydomain.lofter.com.

从输出可以看出,我用了网易Loft提供的博客服务。另外,这个方法刚好解答了本文开头所提到的那个问题。

4.根据IP地址反向查找域名

$ dig -x 8.8.8.8 +short

; <<>> DiG 9.8.3-P1 <<>> -x 8.8.8.8 +noall +answer

;; global options: +cmd

8.8.8.8.in-addr.arpa. 79605 IN PTR google-public-dns-a.google.com.

从输出可以看出,Google的这个DNS服务器有个域名叫做google-public-dns-a.google.com

5.查询域名的解析DNS服务器地址

$ dig zhouliang.pro ns +short

ns15.bigwww.com.

ns13.bigwww.com.

how to use dig to query DNS

Understanding DNS with dig command

Dig dns txt record

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用的DNS记录
  • CNAME设置
  • dig 命令
  • Dig命令的输出分析
  • dig命令示例
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档