使用dig/nslookup命令查看dns解析的方法步骤

dig - DNS lookup utility

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

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

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

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地址

[root@jia3 ~]# dig www.baidu.com +trace

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.baidu.com +trace
;; global options: +cmd
.            320307 IN   NS   a.root-servers.net.
.            320307 IN   NS   k.root-servers.net.
.            320307 IN   NS   i.root-servers.net.
.            320307 IN   NS   l.root-servers.net.
.            320307 IN   NS   b.root-servers.net.
.            320307 IN   NS   e.root-servers.net.
.            320307 IN   NS   h.root-servers.net.
.            320307 IN   NS   d.root-servers.net.
.            320307 IN   NS   g.root-servers.net.
.            320307 IN   NS   j.root-servers.net.
.            320307 IN   NS   f.root-servers.net.
.            320307 IN   NS   m.root-servers.net.
.            320307 IN   NS   c.root-servers.net.
;; Received 228 bytes from 202.106.0.20#53(202.106.0.20) in 98 ms

com.          172800 IN   NS   c.gtld-servers.net.
com.          172800 IN   NS   l.gtld-servers.net.
com.          172800 IN   NS   d.gtld-servers.net.
com.          172800 IN   NS   h.gtld-servers.net.
com.          172800 IN   NS   m.gtld-servers.net.
com.          172800 IN   NS   a.gtld-servers.net.
com.          172800 IN   NS   k.gtld-servers.net.
com.          172800 IN   NS   b.gtld-servers.net.
com.          172800 IN   NS   e.gtld-servers.net.
com.          172800 IN   NS   g.gtld-servers.net.
com.          172800 IN   NS   j.gtld-servers.net.
com.          172800 IN   NS   i.gtld-servers.net.
com.          172800 IN   NS   f.gtld-servers.net.
;; Received 491 bytes from 192.5.5.241#53(192.5.5.241) in 93 ms

baidu.com.       172800 IN   NS   dns.baidu.com.
baidu.com.       172800 IN   NS   ns2.baidu.com.
baidu.com.       172800 IN   NS   ns3.baidu.com.
baidu.com.       172800 IN   NS   ns4.baidu.com.
baidu.com.       172800 IN   NS   ns7.baidu.com.
;; Received 201 bytes from 192.48.79.30#53(192.48.79.30) in 501 ms

www.baidu.com.     1200  IN   CNAME  www.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns1.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns2.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns5.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns3.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns4.a.shifen.com.
;; Received 228 bytes from 220.181.37.10#53(220.181.37.10) in 8 ms

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

比如解析 www.not-exists-domain.com这个域名,是不存在的。
整个过程如下:
1. 由根域名返回.com顶级域的服务器地址
2. 由.com顶级域查到二级域名不存在,返回一条SOA记录

[root@jia3 ~]# dig www.not-exists-domain.com +trace

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.not-exists-domain.com +trace
;; global options: +cmd
.            319714 IN   NS   b.root-servers.net.
.            319714 IN   NS   e.root-servers.net.
.            319714 IN   NS   h.root-servers.net.
.            319714 IN   NS   d.root-servers.net.
.            319714 IN   NS   g.root-servers.net.
.            319714 IN   NS   j.root-servers.net.
.            319714 IN   NS   f.root-servers.net.
.            319714 IN   NS   m.root-servers.net.
.            319714 IN   NS   c.root-servers.net.
.            319714 IN   NS   a.root-servers.net.
.            319714 IN   NS   k.root-servers.net.
.            319714 IN   NS   i.root-servers.net.
.            319714 IN   NS   l.root-servers.net.
;; Received 228 bytes from 202.106.0.20#53(202.106.0.20) in 105 ms

com.          172800 IN   NS   e.gtld-servers.net.
com.          172800 IN   NS   c.gtld-servers.net.
com.          172800 IN   NS   j.gtld-servers.net.
com.          172800 IN   NS   l.gtld-servers.net.
com.          172800 IN   NS   k.gtld-servers.net.
com.          172800 IN   NS   g.gtld-servers.net.
com.          172800 IN   NS   m.gtld-servers.net.
com.          172800 IN   NS   a.gtld-servers.net.
com.          172800 IN   NS   i.gtld-servers.net.
com.          172800 IN   NS   h.gtld-servers.net.
com.          172800 IN   NS   b.gtld-servers.net.
com.          172800 IN   NS   f.gtld-servers.net.
com.          172800 IN   NS   d.gtld-servers.net.
;; Received 503 bytes from 192.112.36.4#53(192.112.36.4) in 228 ms

com.          900   IN   SOA   a.gtld-servers.net. nstld.verisign-grs.com. 1524576381 1800 900 604800 86400
;; Received 116 bytes from 192.12.94.30#53(192.12.94.30) in 333 ms

nslookup - query Internet name servers interactively

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 批处理获取网卡名称的代码(附修改IP、网关、DNS脚本)

    复制代码 代码如下: ::用ipconfig /all命令获取网卡名称. FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j ::用for命令删除网卡名称后面的冒号. FOR /F "tokens=1* delims=:" %%i in ("%name%") do set 网卡名称=%%i 套用上面的脚本

  • win2003 DNS服务器配置方法[图文详解]

    在内部网络搭建DNS服务器,让用户在其计算的"DNS服务器的IP地址"中输入内部网络DNS服务器的ip地址.在该内部网络的DNS服务器上建立正向.方向搜索区域.将没有注册互联网域名服务器的域名在内部网络DNS服务器上建立相应的记录,则用户就可以用这个DNS服务器来将域名解析为对应的IP地址,或者将IP地址解析为对应的域名. 用户对已注册互联网域名的访问,可以在内部DNS服务器上配置转发器,将内部DNS服务器无法解析的域名转发带互联网的DNS服务器上查询. 实验前准备: 首先把本机的TC

  • win2003服务器搭建DNS服务器配置图解教程(比较详细)

    一.安装DNS 1.安装DNS:开始-控制面板-添加或删除程序-添加或删除windows组件,出现下面的窗口: 2.滚动条往下拖,用鼠标点击"网络服务",在单击"详细信息":出现下面的窗口: 3.勾选上"域名系统(DNS)",点击"确定" 4.然后回到"第一幅"图片,点击"下一步"开始安装: 二.配置DNS 1.选择开始-程序-管理工具-DNS,打开DNS服务器配置窗口:先新建正向查找区

  • Win7+xp命令行 一键修改IP、DNS

    经常往返于实验室的同学一定常会遇到一个问题: 宿舍的路由器一般是自动获取IP, 但是实验室里面一般是静态IP. 每次往返,每天就要修改,很麻烦. 这里提供了一个简便方法:(该方法为Win7下的,XP下的见最后一行) 第一步:新建一个txt文件 第二步:在文件中添加如下内容: netsh interface ip set address name="本地连接" source=static addr=10.60.37.99 mask=255.255.255.0gateway=10.60.3

  • 获取站点的各类响应时间(dns解析时间,响应时间,传输时间)

    有时候为了测试网络情况,需要返回每个阶段的耗时时间,比如DNS解析耗时,建立连接所消耗的时间,从建立连接到准备传输所使用的时间,从建立连接到传输开始所使用的时间,整个过程耗时,下载的数据量,下载速度,上传数据量,上传速度等等.下面的脚本获取以上信息: CURL的资料参见: http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html 复制代码 代码如下: ###################################### author: ww

  • windows2003 DNS服务器配置(图文详解)

    目前很多企业事业单位都建立了单位内部的局域网,网络内部都配备相关的服务器(如web.ftp等服务器).内部网络的用户都希望所有的服务器都用域名来访问,网络管理员可以采用在内部搭建DNS服务器的方式来实现. 在内部网络搭建DNS服务器,让用户在其计算的"DNS服务器的IP地址"中输入内部网络DNS服务器的ip地址.在该内部网络的DNS服务器上建立正向.方向搜索区域.将没有注册互联网域名服务器的域名在内部网络DNS服务器上建立相应的记录,则用户就可以用这个DNS服务器来将域名解析为对应的I

  • Nginx DNS resolver配置实例

    nginx 通过 proxy_pass 和 upstream server 通信的时候需要手动指定 resolver.某些时候 DNS 解析失败就会出现这个错误: 复制代码 代码如下: domain.com could not be resolved. 可以指定多个 DNS 并重置域名 TTL 延长 nginx 解析缓存来保障解析成功率: 复制代码 代码如下: resolver 223.5.5.5 223.6.6.6 1.2.4.8 114.114.114.114 valid=3600s; 如果

  • windows server 2008 r2 DNS服务器配置图文教程

    DNS服务器 DNS服务器用来负责将ip地址和域名进行互相解析. DNS服务器的作用 简单来说,DNS服务器的作用就是帮助用户使用简单好记的域名来访问网络上的主机和网络服务. DNS服务器中的记录类型 A地址:用于为特定域名制定对应的IP地址.CNAME: 用于为特定域名指定对应的的别名,用户可以通过别名访问这个域名,也可以为特定域名指定多个别名.MX:用于为特定域名指定负责接收电子邮件的邮件服务器的信息.NS:用于为当前DNS区域指定权威对的名称服务器. 1.安装DNS服务器 (1) 打开"添

  • 使用Java实现DNS域名解析的简单示例

    普通的域名解析方法: import java.net.*; public class Kkkk { public static void main(String args[]) throws Exception { InetAddress address = InetAddress.getByName("wxh-PC");// wxh-PC是我的计算机名 System.out.println(address); System.out.println("-----")

  • 批处理、VBS实现自动设置IP、默认网关、DNS、WINS、IE代理(全)

    因为公司有同事负责大连.沈阳两个城市,经常在两地来回走动,到每个城市后,都要自己手动更改相应的网络配置,况且到外地时住的是酒店, 酒店上网是自动获得IP,又要将网络设置取消,真的很麻烦!于是想起写一个批处理!来解决这个问题!主要用到的命令是netsh. -.第一种方法是将两地的网络配置先进行本机设置,然后再导出,等用到的时候,再分别导入. 1.将现有的配置导出到d:\dalian.txt中: netsh –c interface dump > d:\dalian.txt 2.将之前导出的d:\d

随机推荐