常用的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地址查找域名

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

Dig 命令是如何使用的相关推荐

  1. linux dig 命令使用方法

    dig 命令主要用来从 DNS 域名服务器查询主机地址信息. 查询单个域名的 DNS 信息 dig 命令最典型的用法就是查询单个主机的信息. $ dig baidu.com dig 命令默认的输出信息 ...

  2. 云服务器 ECS Linux 系统下使用 dig 命令查询域名解析

    云服务器 ECS Linux 系统可以使用通常自带的 dig 命令来查询域名解析情况.本文对此进行简要说明. 查询域名 A 记录 命令格式: dig <域名> 比如,查询域名 www.al ...

  3. 【Linux】一步一步学Linux——dig命令(160)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 dig命令是常用的域名查询工具,可以用来测试域名系统工作是 ...

  4. linux之dig命令

    1  dig命令的作用 一般我们可以用dig命令解析域名成ip,或者把ip解析成域名,或查看这个域名所经过的域名服务器,这点是 nslookup命令没有的功能. DNSpod:注册域名,首先得找到域名 ...

  5. linux上dig命令,Linux dig命令(示例代码)

    dig(Domain Information Groper),和nslookup作用有些类似,都是DNS查询工具 1.dig命令格式 dig @dnsserver name querytype 如果你 ...

  6. Centos7安装dig命令

    2019独角兽企业重金招聘Python工程师标准>>> Centos7安装dig命令 作者: jwj 时间: 2018-10-17 分类: 服务器 最近做一个项目,需要用到Gmail ...

  7. (转载)Dig命令的用法

    Dig命令的用法 Dig是linux中的域名解析工具,功能比nslookup强很多,使用也很方便,不用象nslookup总是set不停. Dig是domain information groper的缩 ...

  8. Linux查看DNS地址以及端口,nslookup命令以及更强大的dig命令

    先说结论:DNS端口一般默认为53,默认采用UDP协议: 下面说查看方式: 一.使用nslookup命令查看 nslookup baidu.com 返回结果为: 可以看到,我的服务器DNS地址是100 ...

  9. Dig HOWTO 中文手册--dig命令使用大全

    from http://blog.itechol.com/space-33-do-blog-id-908.html DNS 2011-03-25 本人翻译的dig howto手册. 译者序: 可以这样 ...

  10. dig命令-dns查询

    我相信使用nslookup的同学一定比使用dig的同学多,所以还是有必要花些时间给大家介绍一下dig的. dig,和nslookup作用有些类似,都是DNS查询工具. dig,其实是一个缩写,即Dom ...

最新文章

  1. 2021年春季学期-信号与系统-第十三次作业参考答案
  2. 万众期待的《Cisco/H3C路由器配置与管理完全手册》开锣了
  3. Node Buffer 利用 slice + indexOf 生成 split 方法
  4. 鸿蒙十系统更新机型,高歌猛进,鸿蒙系统升级机型再次确认,花粉:终等到!...
  5. Step by step通过online方式做product archiving
  6. 【HDOJ】1597 find the nth digit
  7. 适用于孩子,父母和祖父母的JBoss HornetQ –第1章
  8. arcgis加载dwg显示一个点_Arcgis添加控制点配准校正影像,更新校正之后,其他软件打开之后,影像位置没有校正解决办法...
  9. CNN与MLP之间的关系,优缺点
  10. HALCON学习之旅(一)
  11. 戴姆勒:停止内燃机研发 马斯克:欢迎进群!
  12. mysql丢失一条事务_SpringBoot之MySQL数据的丢失的元凶--事务(转)
  13. 【NOIP2016】【Luogu1909】买铅笔(模拟)
  14. python opencv导入pbtxt文件出现错误Failed to parse GraphDef file
  15. 免费rar密码破解工具排行榜
  16. Spring JdbcTemplate 多参数查询,以及like模糊查询处理方式
  17. 安卓怎么实现计算纪念日
  18. 创建一个简单的后台教务管理系统,包含动态增删改查学生,年级和课程信息及查看登录日志等功能,包含表单验证.
  19. jupyter notebook出现DLL load failed while importing _multiarray_umath: 找不到指定的模块
  20. bzoj 3837 pa2013 Filary

热门文章

  1. 【算法设计与分析】算法的时间复杂度(介绍O渐近上界,Ω渐近下界,θ准确的界)
  2. acme云服务器生成证书_如何让docker 部署的nginx上通过acme.sh安装ssl/https 证书
  3. MAC泛洪攻击实现简略版
  4. 关于Repeater 嵌套梆定不明之处
  5. jello框架V1.1让web开发重获自由
  6. 51单片机使用RTX实时操作系统
  7. u盘文件打不开了如何恢复
  8. 利用CSS伪类 改变其他元素
  9. 华为首次采用数字人全程实时手语直播,并宣布全面开放手语服务能力
  10. IIS服务器上设置404的方式