详解linux系统使用dig/nslookup命令查看dns解析的方法

概述

今天主要介绍一下怎么去使用dig/nslookup命令查看dns解析...


一、dig命令

Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包括在内,但是在linux系统下,它通常是某个包的一部分,在Gentoo下是bind-tools,在Redhat/Fedora下是 bind-utils,或者在Debian下是 dnsutils。

1、dig - DNS lookup utility

当域名出现访问故障时,可以通过检查域名解析来判断是否是由错误的解析导致的问题。
1)域名解析无结果(不存在或被HOLD(未实名认证等))
2)域名解析到错误的IP(被阻断,被劫持响应错误结果,需要对解析流程做判断)
3)对应CNAME记录的值无法解析
4)部分解析异常(配置多个域名服务器时,多个服务器解析结果不一致,需要确认是否在DNS服务器上配置添加的解析记录一致)

简单使用解析一下www.baidu.com结果如下:

详解linux系统使用dig/nslookup命令查看dns解析的方法

可以看到有请求段和应答段,最后解析出的A记录有两条。

2、dig命令做迭代查询

在命令后加上+trace可以跟踪整个解析流程:

解析流程:

1) 由根域名服务器查找到负责解析.com的顶级域名服务器
2) 由顶级域名服务器查找到baidu.com的二级域名服务器
3) 由二级域名服务器查找到www.baidu.com对应一条CNAME记录www.a.shifen.com
4) 再去查找www.a.shifen.com对应的A记录
5) 最后返回A记录对应的IP地址


3、域名不存在时,dig命令如何返回

比如解析 www.not-exists-domain.com这个域名,是不存在的。

详解linux系统使用dig/nslookup命令查看dns解析的方法

整个过程如下:

1. 由根域名返回.com顶级域的服务器地址
2. 由.com顶级域查到二级域名不存在,返回一条SOA记录


二、nslookup - query Internet name servers interactively

nslookup是一种网络管理命令行工具,可用于查询DNS域名和IP地址输入指令nslookup默认服务器和Address是当前上网所用的DNS服务器域名和地址A记录A(Address)记录指的是用来指定主机名或域名对应的IP记录。在提示符>后直接输入域名,可以查看该域名的A记录(也可以用set type=a指令设置):MX记录MX(mail exchanger)记录,邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。输入set type=mx,再输入域名可查询mx类型记录MX perference = 10 指MX记录的优先级NS记录NS(nameserver)记录,用来指定改域名由那个DNS服务器来进行解析。先输入set type=ns再输入域名CNAME记录cname记录是别名记录,也成为规范名字。这种记录允许将多个名字映射到同一台计算机输入set type=cname可以查询n

slookup有交互式和非交互式两种使用方式如下图:

详解linux系统使用dig/nslookup命令查看dns解析的方法


nslookup还可以指定到某个域名服务器做解析命令格式如下:

nslookup www.baidu.com 8.8.8.8(域名服务器地址)

详解linux系统使用dig/nslookup命令查看dns解析的方法


篇幅有限,关于这块内容就介绍到这了,觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

详解linux系统使用dig/nslookup命令查看dns解析的方法

相关推荐