常见的网络诊断工具-nslookup使用
nslookup命令详解: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) & DNS Record
①资源记录(RR)是包含了下列字段的4元组:(Name, Value, Type, TTL)
- 主机记录(A记录):RFC 1035 定义,A记录是用于名称解析的重要记录,提供标准的主机名到IP的地址映射。
- 别名记录(CNAME记录): RFC 1035 定义,向查询的主机提供主机名对应的规范主机名。
- 域名服务器记录(NS记录) :用来指定该域名由哪个DNS服务器来进行解析。 您注册域名时,总有默认的DNS服务器,每个注册的域名都是由一个DNS域名服务器来进行解析的,DNS服务器NS记录地址一般以以下的形式出现: http://ns1.domain.com、http://ns2.domain.com等。 简单的说,NS记录返回域中主机IP地址的权威DNS服务器的主机名。
- 邮件交换记录(MX记录):返回别名为Name对应的邮件服务器的规范主机名。
②DNS记录类型:
可以通过set type=” “的方式设置,更是可以设置set type=any
1 | TYPE: |
交互模式
进入交互模式,直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个dns地址)。
1 | angkongming@Vostro ~ $ nslookup |
非交互模式
如果你直接在nslookup命令后加上所要查询的IP或主机名,那么就进入了非交互模式。当然,这个时候你也可以在第二个参数位置设置所要连接的域名服务器。
1 | wangkongming@Vostro ~ $ nslookup www.baidu.com |
命令执行后常见错误含义
①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-DNS协议及抓包
使用 nslookup 命令向域名服务器查询某域名的IP地址产生的网络请求如下:
拓展2-Linux下的名字解析
Linux/Unix本地dns配置文件,文件是:/etc/resolv.conf
打开该文件:vi /etc/resolv.conf :
DNS配置不对,解析不出域名对应的IP,因此会出现ping域名Ping不通的情况(实际运维遇到过)
参考文献或转载相关:
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