本文为博主原创,未经允许不得转载:

  通常我们在windows系统下查看域名是不是可以正常访问,是通过cmd命令打开dos窗口,使用ping 命令来查看域名是不是可以正常访问,使用 ping 命令正常访问时,若域名能正常访问,则会返回一段数据包的统计信息, 如果接收的数据包与发送的包数量完全相同,则表示域名正常。示例如下:

C:\Users\zenjian>ping baidu.com

正在 Ping baidu.com [220.181.38.148] 具有 32 字节的数据
来自 220.181.38.148 的回复: 字节=32 时间=23ms TTL=52
来自 220.181.38.148 的回复: 字节=32 时间=24ms TTL=52
来自 220.181.38.148 的回复: 字节=32 时间=24ms TTL=52
来自 220.181.38.148 的回复: 字节=32 时间=27ms TTL=52 220.181.38.148 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 23ms,最长 = 27ms,平均 = 24ms
如果 ping 一个不存在的域名或非公网域名,则会 提示请求找不到主机,
C:\Users\zenjian>ping ts.baidu.com
Ping 请求找不到主机 ts.baidu.com。请检查该名称,然后重试。

除了使用 ping 命令来查看域名是否正常访问,或查看域名的访问ip时,还可以使用 nslookup 来查看。nslookup是一种网络管理命令行工具,可用于查询DNS域名和IP地址,在网络故障的时候用来诊断网络问题。其最简单的使用方法与 ping 命令方法相同,直接使用 nslookup 域名即可。示例如下:

C:\Users\zenjian>nslookup baidu.com
服务器: 192.168.1.1
Address: 192.168.1.1 DNS request timed out.
timeout was 2 seconds.
名称: baidu.com
Addresses: 220.181.38.148
39.156.69.79

其中192.168.1.1是本机对应的 ip 段,这个命令在Linux环境上也可以使用,通过执行 nslookup 命令我们发现他会返回两个对应的 ip,这个ip就是baidu.com配置的访问的ip地址。通常一个域名会配置多个解析 ip,防止同时有大并发的请求到一台服务器,导致服务奔溃不可用,这种域名解析配置的方式称为 A 记录。

域名解析的配置方式有很多种,主要由以下几种:

(1)A记录,Address

A记录用于描述域名到ip地址的映射关系。对同一个域名,可以有多条A记录。也就是说,一次DNS查找可以返回多个地址。

(2)NS记录,Name Server

NS记录是域名服务器记录,用于指定该域名由那个DNS服务器来进行解析。每个区域可以有多个域名服务器,因此可以有多条NS记录。

(3)SOA记录,Start Of Authority

SOA记录用于指定该区域的权威域名服务器。每个区域允许且只允许有一个SOA记录,它是资源记录的第一个条目。

(4)CNAME记录

CNAME记录用于描述别名与域名的对应关系,这种记录允许您将多个名字映射到同一台计算机。例如,有一台计算机名为host.mydomain.com(A记录)。它同时提供www和mail服务,为了便于用户访问服务,可以为该计算机设置两个别名(CNAME):www和mail。这两个别名的全称就是www.mydomain.com和mail.mydomain.com。实际上它们都指向host.mydomain.com。当域名服务器查找一个域名时,找到一条CNAME记录,它会用记录中的规范名来替换这个域名别名,然后再查这个规范名的A记录,从而找到与规范名对应的ip地址,这样,就实现了对请求查找域名的ip地址响应。

(5)MX

如果需要设置邮箱,让邮箱能够收到邮件,需要添加MX记录。

(6)SOA

SOA这种记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。

(7)TXT

可以写任何东西,长度限制为255。绝大多数的TXT记录是用来做SPF记录(反垃圾邮件)。

通过ping 命令是无法解析域名的解析类型,只能ping域名是否正常访问,获取域名的对应ip。若需要解析域名的类型可以使用nslookup。

其语法域名的某一解析类型如下:

--查询域名的mx/txt/ns解析记录
nslookup -type=mx/txt/ns 52robot.org --还可以用 nslookup –qt=类型 目标域名。类型cname,txt,ns,mx
nslookup -qt=cname/mx/txt/ns 52robot.org --查询域名的所有类型解析记录
nslookup -type=any 52robot.org --从指定DNS服务器进行查询
nslookup 52robot.org 223.5.5.5
 

使用nslookup查询baidu.com的所有解析类型记录:

C:\Users\zenjian>nslookup -type=any baidu.com
服务器: 192.168.1.1
Address: 192.168.1.1 非权威应答:
baidu.com MX preference = 10, mail exchanger = mx.maillb.baidu.com
baidu.com MX preference = 15, mail exchanger = mx.n.shifen.com
baidu.com MX preference = 20, mail exchanger = mx1.baidu.com
baidu.com MX preference = 20, mail exchanger = jpmx.baidu.com
baidu.com MX preference = 20, mail exchanger = mx50.baidu.com
baidu.com nameserver = ns2.baidu.com
baidu.com nameserver = ns3.baidu.com
baidu.com nameserver = ns7.baidu.com
baidu.com nameserver = dns.baidu.com
baidu.com nameserver = ns4.baidu.com
 

通过这个解析记录可以看到直接访问baidu.com可能会访问到以上mx,ns等的dns服务器上。使用nslookup命令已经可以帮我们查看域名的解析配置,在实际的应用配置中,现在更多的用的是 dig 命令进行查看配置解析,因为使用dig命令可以帮我们看到域名解析的服务链路,解析的线路更清楚,而且可以查看请求的状态和时长。

dig 也是查看域名dns解析的工具,使用dig命令需要安装dig工具。在Linux环境只需要执行以下命令即可:

yum install bind-utils

dig命令的使用语法如下:

dig(选项)(参数)

其选项有以下:

@<服务器地址>:指定进行域名解析的域名服务器;
-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;
-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
-P:指定域名服务器所使用端口号;
-t<类型>:指定要查询的DNS数据类型;
-x<IP地址>:执行逆向域名查询;
-4:使用IPv4;
-6:使用IPv6;
-h:显示指令帮助信息。
 

参数则有以下配置:

主机:指定要查询域名主机;
查询类型:指定DNS查询的类型;
查询类:指定查询DNS的class;
查询选项:指定查询选项。

这里列举一下dig常用的请求命令:

查询域名
dig baidu.com 查询mx记录
dig -t mx baidu.com 查询所有记录
dig -t any baidu.com 追踪所有解析,可以看到从客户端指定的dns服务器一步一步将dns请求转发到域名托管的dns服务器
DNS的解析是递规解析,用trace参数,会显示完整的,无缓存,递规的查询,显示的是完整的trace记录。
dig +trace baidu.com 从指定DNS服务器进行查询
dig @8.8.8.8 baidu.com
 

另外常用的dns解析服务ip有两个,一个是8.8.8.8,另一个是114.114.114.114。从8.8.8.8 dns服务器解析追踪baidu.com的请求如下:

[root@Test ~]# dig @8.8.8.8 baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> @8.8.8.8 baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43743
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;baidu.com. IN A ;; ANSWER SECTION:
baidu.com. 461 IN A 39.156.69.79
baidu.com. 461 IN A 220.181.38.148 ;; Query time: 51 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Oct 25 14:35:09 CST 2020
;; MSG SIZE rcvd: 70

通过了解域名的解析类型,以及如何查看域名的解析类型记录,希望对域名能有更进一步的了解。并列举了nslookup和dig命令,在实际的应用时,可以根据不同的场景,正确快速的使用命令工具,帮助我们提供工作效率。

域名解析类型及dig,nslookup进行Dns解析过程查看的更多相关文章

  1. (转)DNS解析过程详解

    DNS解析过程详解 原文:http://blog.csdn.net/crazw/article/details/8986504 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的 ...

  2. DNS解析过程详解(转载)

    DNS解析过程详解(转载) DNS Domain Name System 域名系统,它就是根据域名查出IP地址.    先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址ww ...

  3. DNS解析过程和DNS挟持

    1.DNS解析过程详解 1).在浏览器中输入一个域名,例如www.tmall.com,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析, ...

  4. DNS解析过程

    参考: http://www.maixj.net/ict/dns-chaxun-9208 http://blog.it985.com/8389.html DNS(Domain Name System) ...

  5. 浏览器与DNS解析过程

    浏览器解析 1.地址栏输入地址后,浏览器检查自身DNS缓存 地址栏输入chrome://net-internals/#dns 查看. 2.浏览器缓存中未找到,那么Chrome会搜索操作系统自身的DNS ...

  6. DNS解析过程详解

    先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点 ...

  7. 转载:DNS解析过程详解

    2015-09-20 此好文是转载,如有侵权联系我,立马删掉 DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com. ...

  8. DNS解析过程详解【转】

    转自:http://blog.chinaunix.net/uid-28216282-id-3757849.html 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www. ...

  9. DNS解析过程和域名收敛、域名发散、SPDY应用

    前段时间项目要做域名收敛,糊里糊涂的完成了,好多原理不清晰,现在整理搜集下知识点. 域名收敛的目的是什么?简单来说就是域名解析慢.那为什么解析慢?且听下文慢慢道来. 什么是DNS? DNS( Doma ...

  10. DNS解析过程--笔试答题版

    在运维笔试的时候,回答DNS解析的过程,不能写一大堆,一是不美观,二是浪费时间,应该怎么写呢?我觉得这样写比较好. 1.客户端:chche----hosts 2.DNS服务器:cache---递归-- ...

随机推荐

  1. python pycurl 安装使用

    python pycurl 安装使用 本文主要讲下pycurl 安装使用. 1.安装 首先使用 pip 命令安装. pip install pycurl 输出如下: Collecting pycurl ...

  2. 【云原生 | Kubernetes 系列】—K8S部署RocketMQ集群(双主双从+同步模式)

    [云原生 | Kubernetes 系列]-K8S部署RocketMQ集群(双主双从+同步模式) 版权 本文为云录原创文章,转载无需和我联系,但请注明来自云录 https://www.yunzhuan ...

  3. JAVAAPI实现血缘关系Rest推送到DataHub V0.12.1版本

    DataHub 更青睐于PythonAPI对血缘与元数据操作 虽然开源源码都有Java示例和Python示例:但是这个API示例数量简直是1:100的差距!!不知为何,项目使用Java编写,示例推送偏 ...

  4. Python——Html(HEAD头部)

    HTML中HEAD头部设置(了解) 在HTML中,<head> 元素是文档的头部部分,通常包含了一些关于文档的元信息和链接到外部资源的标签.以下是一些常见的 <head> 元素 ...

  5. OfficeWeb365任意文件读取

    OfficeWeb365任意文件读取 OfficeWeb365 /Pic/Indexs接口处存在任意文件读取漏洞,攻击者可通过独特的加密方式对payload进行加密,读取任意文件,获取服务器敏感信息, ...

  6. HDU 2709 Sumset DP 二进制

    原题链接 题意 给我们一个整数k,要求我们将k分成若干个二的整数幂(1, 2, 4, 8...)的加和形式,问我们所有的分法中,本质不同(即某个2的幂的数量不同)的形式有多少种,k最多为1000000 ...

  7. 云图说|交换数据空间Exchange Data Space

    本文分享自华为云社区<云图说|交换数据空间Exchange Data Space>,作者: 阅识风云. 阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅 ...

  8. GaussDB技术解读系列之SQL Audit,面向应用开发的SQL审核工具

    本文分享自华为云社区<​​GaussDB技术解读系列之SQL Audit,面向应用开发的SQL审核工具>​​,作者:华为云数据库和应用迁移专家. 前言 我们先从一个SQL语句说起(以某传统 ...

  9. GaussDB(DWS)查询过滤器原理与应用

    摘要:GaussDB(DWS)查询过滤器(黑名单)提供查询过滤功能,支持自动隔离反复被终止的查询,防止烂SQL再次执行. 本文分享自华为云社区<GaussDB(DWS)查询过滤器原理与应用> ...

  10. Java开发如何通过IoT边缘ModuleSDK进行进程应用的开发?

    摘要:为解决用户自定义处理设备数据以及自定义协议设备快速接入IOT平台的诉求,华为IoT边缘提供ModuleSDK,用户可通过集成SDK让设备以及设备数据快速上云. 本文分享自华为云社区<[华为 ...