nslookup命令详解:nslookup是一种网络管理命令行工具

前言

① nslookup 命令主要用来诊断域名系统 (DNS) 基础结构的信息。

② nslookup 命令通常用来查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。

③ nslookup 命令的两种模式:

 nslookup 命令是一个能够查询互联网域名服务器信息的程序。他有两种工作模式,即《交互模式》和《非交互模式》。

  • 在《交互模式》下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。
  • 而在《非交互模式》下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息。

④通过 man nslookup 可以看到对于nslookup命令的官方解释是“query Internet name servers interactively”。

1、直接查询

nslookup domain [dns-server]

命令解析:

①如果不指定dns-server(DNS服务器)参数,则用当前系统默认的dns服务器解析域名。

②指定dns-server(DNS服务器)参数:指定DNS服务器查询域名的IP地址

命令执行结果解析:

①如果不指定DNS服务器,采用默认DNS进行查询。如上图所示,服务器为本机DNS服务器信息;114.114.114.114为本机当前使用的DNS服务器;

②非权威应答:表示非从域名的权威服务器获得结果,而是从本地DNS缓存中获取的结果;

③address为目标域名所对应的IP地址(域名所对应的IP地址可以有多个,用户访问的时候会按照一定规则由其中一台计算机应答)

RR (Resource Records) 

①资源记录(RR)是包含了下列字段的4元组:(Name, Value, Type, TTL)

  • 主机记录(A记录):RFC 1035 定义,A记录是用于名称解析的重要记录,提供标准的主机名到IP的地址映射。
  • 别名记录(CNAME记录): RFC 1035 定义,向查询的主机提供主机名对应的规范主机名。
  • 域名服务器记录(NS记录) :用来指定该域名由哪个DNS服务器来进行解析。 您注册域名时,总有默认的DNS服务器,每个注册的域名都是由一个DNS域名服务器来进行解析的,DNS服务器NS记录地址一般以以下的形式出现: 等。 简单的说,NS记录返回域中主机IP地址的权威DNS服务器的主机名。
  • 邮件交换记录(MX记录):返回别名为Name对应的邮件服务器的规范主机名。

 

 ②其他记录类型:

TYPE:
    A        IPv4 地址记录
    AAAA    IPv6 地址记录  
    AFSDB     Andrew文件系统数据库服务器记录 
    ATMA     ATM地址记录 
    CNAME    别名记录 
    HINFO    硬件配置记录,包括CPU、操作系统信息 
    ISDN    域名对应的ISDN号码 
    MB        存放指定邮箱的服务器 
    MG        邮件组记录 
    MINFO    邮件组和邮箱的信息记录 
    MR        改名的邮箱记录 
    MX        邮件服务器记录 
    NS        名字服务器记录 
    PTR        反向记录 
    RP        负责人记录 
    RT        路由穿透记录 
    SRV        TCP服务器信息记录 
    TXT        域名对应的文本信息 
    X25        域名对应的X.25地址记录

 

交互模式

进入交互模式,直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个dns地址)。

angkongming@Vostro ~ $ nslookup
> www.baidu.com
Server: 127.0.1.1 //上连的dns服务器
Address: 127.0.1.1#53 //上连的dns服务器ip和端口
 
Non-authoritative answer: //非权威答案,即从上连DNS服务器的本地缓存中读取出的值,而非实际去查询到的值  
www.baidu.com canonical name = www.a.shifen.com. //说明www.baidu.com有个别名叫www.a.shifen.com
Name: www.a.shifen.com
Address: 180.97.33.107 //对应的ip1
Name: www.a.shifen.com
Address: 180.97.33.108 //对应的ip2
>

非交互模式

如果你直接在nslookup命令后加上所要查询的IP或主机名,那么就进入了非交互模式。当然,这个时候你也可以在第二个参数位置设置所要连接的域名服务器。

wangkongming@Vostro ~ $ nslookup www.baidu.com
Server:        127.0.1.1
Address:    127.0.1.1#53
 
Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 180.97.33.107
Name:    www.a.shifen.com
Address: 180.97.33.108
 
wangkongming@Vostro ~ $ 

命令执行后常见错误含义

①Timed Out:表示服务器在超出指定的重试次数后不响应请求。

②No Response from Server:表示名称服务器不在服务器上运行。

③No Records:表示服务器没有主机的指定查询类型的资源记录,即使主机名有效。 

④Non-Existent Domain:表示主机或域名不存在。

⑤Connection Refused:表示在查询时,不能连接到名称或远程用户信息服务命令服务器。该错误是与 ls 和 finger 请求有关的典型错误。

⑥Network Is Unreachable:表示在查询时,不能连接到名称或远程用户信息服务命令服务器。该错误是与 ls 和 finger 请求有关的典型错误。 

⑦Server Failure:表示名称服务器遇到内部矛盾并且不能返回有效的应答。

⑧Refused:表示名称服务器拒绝请求服务。

⑨Format Error:表示名称服务器拒绝数据包请求因为格式不正确。

 

 

拓展1

使用 nslookup 命令向域名服务器查询某域名的IP地址产生的网络请求如下:

拓展2

本地dns配置文件

文件是:/etc/resolv.conf 

打开该文件:vi /etc/resolv.conf :

 

参考博客:

https://zhuanlan.zhihu.com/p/361451835

https://blog.csdn.net/weixin_45672615/article/details/115948218

https://m.php.cn/article/462078.html

https://baijiahao.baidu.com/s?id=1745289983753039428&wfr=spider&for=pc

https://blog.csdn.net/lovedingd/article/details/118806337

https://javaforall.cn/180429.html

posted @ 2022-10-20 10:53  习久性成  阅读(5393)  评论(0编辑  收藏  举报