Dig

Dig

参考:

http://www.ruanyifeng.com/blog/2018/05/root-domain.html

http://www.ruanyifeng.com/blog/2016/06/dns.html

概述

如果没有参数,默认查询根域

这里显示根域有13个NS记录,对应13台DNS服务器的域名,然后向这13台DNS服务器查询

虽然只需要返回一个IP地址,但是DNS的查询过程非常复杂,分成多个步骤。

工具软件dig可以显示整个查询过程。

$ dig math.stackexchange.com

上面的命令会输出六段信息。

img

第一段是查询参数和统计。

img

第二段是查询内容。

img

上面结果表示,查询域名math.stackexchange.comA记录,A是address的缩写。

第三段是DNS服务器的答复。

img

上面结果显示,math.stackexchange.com有四个A记录,即四个IP地址。600是TTL值(Time to live 的缩写),表示缓存时间,即600秒之内不用重新查询。

第四段显示stackexchange.com的NS记录(Name Server的缩写),即哪些服务器负责管理stackexchange.com的DNS记录。

img

上面结果显示stackexchange.com共有四条NS记录,即四个域名服务器,向其中任一台查询就能知道math.stackexchange.com的IP地址是什么。

第五段是上面四个域名服务器的IP地址,这是随着前一段一起返回的。

img

第六段是DNS服务器的一些传输信息。

img

上面结果显示,本机的DNS服务器是192.168.1.253,查询端口是53(DNS服务器的默认端口),以及回应长度是305字节。

如果不想看到这么多内容,可以使用+short参数。

$ dig +short math.stackexchange.com

151.101.129.69
151.101.65.69
151.101.193.69
151.101.1.69

上面命令只返回math.stackexchange.com对应的4个IP地址(即A记录)。

syntax

dig @server name type

  • server

    如果没有给server参数,Dig默认使用/etc/resolve.conf中的DNS服务器解析域名。

  • name

    想要被查询的域名

  • type

    查询的类型,如果没有默认查询A记录。可以是ANY, A, NS , MX等。如果手动添加type需要使用指定DNS server

常用命令

  • dig -x host

    反向解析

  • dig +short host

    只显示最后的结果,不显示中间查询的内容

  • dig +trace host

    显示所有路由的过程

  • dig -ttluints host

    以可读的形式显示缓存时间, 未加该参数默认以sec显示

  • dig -yaml host

    以yaml形式显示结果

  • whois baidu.com

    查看域名注册信息

posted @ 2020-09-06 17:37  CyberPelican  阅读(515)  评论(0编辑  收藏  举报