DNS全称Domain Name System,即域名解析系统。DNS是将我们在浏览器是输入的域名转换为网络中对应的主机IP地址,然后在建立TCP进行数据通信。DNS就是将域名转换为计算机网络能够识别的IP地址的中间服务程序。
域名到IP地址的解析是由分布在互联网上的许多域名服务器程序共同完成。
域名服务器程序在专设的结点上运行,我们通常把这些运行域名解析服务的主机称为域名服务器。
个人总结:DNS是一个采用CS模型的基于层次树状结构的联机分布式数据库系统。
2. DNS域名解析工作基本流程目前互联网中域名到IP地址的解析过程要点如下:
客户在计算机中某个应用向网络中特定域名的服务器发起通信请求,首先在本地DNS进行解析,解析成功则DNS结束;失败进入下一步;该计算机向本地DNS服务器发出一个域名解析的请求,本地DNS服务递归查询,解析成功则返回结果;失败进入下一步;DNS服务器收请求,进行数据库查询,如果失败就向更高一级DNS服务器迭代请求,一直迭代到网络根DNS服务器停止递归请求;如果在某个DNS服务中查询到域名对应的IP,则立即返回结果;如果一直递归到根DNS服务器仍然没有查找到对应的IP地址,即当前请求的DNS未注册,通知本次DNS请求发起者;如果客户计算机收到DNS返回的IP地址,则立即开始建立TCP/UDP网络通信;否则提示域名错误或者没有找到主机; 实际现实中我们每个PC机本都建立有个本地的DNS缓存,大多数域名在通过本机DNS缓存都完成了解析;仅有少量的域名解析需要通过网络DNS服务解析,而且网络解析中的绝大多数DNS都可以在本地域名服务器【Local Name Server】都可以完成解析;目前就基于国内的网络政策,普通网络活动域名解析中只有极少情况下才会需要递归到因特网的根DNS服务器进行解析。因此实际网络中DNS解析是很高效的。公共DNS服务器,具有无广告、可以在一定程度上防止DNS劫持、不需因上网环境的改变而改变等优势,但是,使用公共DNS也可能存在系统响应慢、被劫持、隐私问题等风险。
国内最早有114DNS,后有阿里DNS、百度DNS,国外则有谷歌DNS以及OpenDNS。
Nslookup(name server lookup)( 域名查询):是由微软发布用于对DNS服务器进行检测和排错的命令行工具,用于查询 Internet域名信息或诊断DNS 服务器是否正常,在网络故障时用来诊断网络问题的一个有效命令。
实际操作中Nslookup命令也分为交互式和非交互式。
交互模式 :用户只需执行一次nslookup,就可以向域名服务器连续发起查询请求非交互模式:用户发起请求是一次性的,下次再想查询,就需再执行一次nslookupnslookup的基本命令格式:
nslookup [-option] [name | -] [server]借助help消息对nslookup进行学习;
help的使用:
Nslookup命令依赖TCP/IP协议,所以只要在电脑上已经安装了TCP/IP协议的电脑上面使用,即nslookup命令不仅可以在Microsoft的Window上同样可以在Linux和Unix上执行。
下面介绍几种常见的命令;
2.1.1 域名dns解析命令域名解析命令:
nslookup domain [dns-server]表示使用DNS服务dns-server对域名domain进行域名解析;
其中:
例:
nslookup //表示进入nslookup交互命令,同时显示本机默认的dns-server nslookup www.baidu.com 114.114.114.114 //表示:使用114DNS对百度域名进行解析; nslookup www.baidu.com //表示使用本机默认域名DNS进行对www.baidu.com 进行解析 2.1.2 查看本机的所有dns相关的可设置选项 nslookup -all 2.1.3 查询命令查询命令格式
nslookup -qt=type domain [dns-server]nslookup -q=type domain [dns-server]nslookup -type=type domain [dns-server]nslookup -querytype=type domain [dns-server]备注:以上4种格式查询命令都是查询命令不同形式而已,结果都相同;
type 的类型和代表的不同含义
A/AAAA : Address用来查询指定域名的IP地址,结果分别为IPv4和IPv6 ;NS:NameServer域名服务器记录,用来指定该域名由那个DNS服务器来解析 ;MX :mail exchanger 邮件交换记录[邮件服务器信息例如域名邮箱]它指向一个邮件服务器,用于电子邮件系统发邮件时,根据收信人的地址后缀来定位邮件服务器;CNAME : Canonical Name 记录是别名记录,也成为规范名字。这种记录允许将多个名字映射到同一台计算机;TXT: 一般记录一些个主机名、域名或者管理员信息的TXT文档说明;TTL :Time-To-Live TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃;PTR :Pointer IP逆向解析域名,通过IP反向查询域名,用于将一个IP地址映射到对应的域名,也可以看成是A记录的反向,IP地址的反向解析。 PTR主要用于邮件服务器;HINFO : hinfo 硬件配置记录,包括CPU、操作系统信息;RP: RP 负责人记录;RT: RP 路由穿透记录;SRV:TCP服务器信息记录;NXT:下一资源记录。NXT 资源记录通过在域中创建所有字面上的所有者名称链,指出某个名称在域中不存在。它们同时也指出,一个已有名称当前有什么资源记录类型;nslookup -query=hinfo -timeout=10
只要在查询的时候,加上-d参数,即可查询域名的缓存。
查询语法:
nslookup –d [其他参数] domain [dns-server]//查询baidu.com 的缓存记录的保存时间 nslookup –d3 baidu.com 2.2 dig命令 2.3 ipconfig 命令ipconfig是Windows下的一个常用IP地址相关的命令;可以直接通过以下
查看ipconfig的help帮助消息的命令:
查询当前主机ip详细信息:
ipconfig/allDNS客户端手工向服务器进行注册
ipconfig /registerdns显示本地DNS内容
ipconfig /displaydns清除本地DNS缓存内容
ipconfig /flushdns 2.4 ping 命令PING (Packet Internet Groper),因特网包探索器,Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令。它主要的功能是用来检测网络的连通情况和分析网络速度。
ping的help消息:
http://www.sohu.com/a/309859050_100169323
Tracert、Netstat、dig、nsupdate
https://mp.weixin.qq.com/s?__biz=MzI5MDQ2NjExOQ==&mid=2247487540&idx=1&sn=81a0c97ee20f78c2b2db0037871eaed6&chksm=ec1e201cdb69a90aee7edb7578c75a45357d61a75959788e7007e513e8d512a8d6882ec25d59&mpshare=1&scene=1&srcid=0604dcMuJduJqoqr0jJv25Ml#rd
https://blog.csdn.net/whatday/article/details/46226827
https://www.cnblogs.com/imsoft/p/5944146.html
查询命令格式
nslookup -qt=type domain [dns-server]nslookup -q=type domain [dns-server]nslookup -type=type domain [dns-server]nslookup -querytype=type domain [dns-server]备注:以上4种格式查询命令都是查询命令不同形式而已,结果都相同;
type 的类型和代表的不同含义
A/AAAA : Address用来查询指定域名的IP地址,结果分别为IPv4和IPv6 ;NS:NameServer域名服务器记录,用来指定该域名由那个DNS服务器来解析 ;MX :mail exchanger 邮件交换记录[邮件服务器信息例如域名邮箱]它指向一个邮件服务器,用于电子邮件系统发邮件时,根据收信人的地址后缀来定位邮件服务器;CNAME : Canonical Name 记录是别名记录,也成为规范名字。这种记录允许将多个名字映射到同一台计算机;TXT: 一般记录一些个主机名、域名或者管理员信息的TXT文档说明;TTL :Time-To-Live TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃;PTR :Pointer IP逆向解析域名,通过IP反向查询域名,用于将一个IP地址映射到对应的域名,也可以看成是A记录的反向,IP地址的反向解析。 PTR主要用于邮件服务器;HINFO : hinfo 硬件配置记录,包括CPU、操作系统信息;RP: RP 负责人记录;RT: RP 路由穿透记录;SRV:TCP服务器信息记录;NXT:下一资源记录。NXT 资源记录通过在域中创建所有字面上的所有者名称链,指出某个名称在域中不存在。它们同时也指出,一个已有名称当前有什么资源记录类型;nslookup -query=hinfo -timeout=10
只要在查询的时候,加上-d参数,即可查询域名的缓存。
查询语法:
nslookup –d [其他参数] domain [dns-server]//查询baidu.com 的缓存记录的保存时间 nslookup –d3 baidu.com 2.2 dig命令 2.3 ipconfig 命令ipconfig是Windows下的一个常用IP地址相关的命令;可以直接通过以下
查看ipconfig的help帮助消息的命令:
查询当前主机ip详细信息:
ipconfig/allDNS客户端手工向服务器进行注册
ipconfig /registerdns显示本地DNS内容
ipconfig /displaydns清除本地DNS缓存内容
ipconfig /flushdns 2.4 ping 命令PING (Packet Internet Groper),因特网包探索器,Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令。它主要的功能是用来检测网络的连通情况和分析网络速度。
ping的help消息:
http://www.sohu.com/a/309859050_100169323
Tracert、Netstat、dig、nsupdate
https://mp.weixin.qq.com/s?__biz=MzI5MDQ2NjExOQ==&mid=2247487540&idx=1&sn=81a0c97ee20f78c2b2db0037871eaed6&chksm=ec1e201cdb69a90aee7edb7578c75a45357d61a75959788e7007e513e8d512a8d6882ec25d59&mpshare=1&scene=1&srcid=0604dcMuJduJqoqr0jJv25Ml#rd
https://blog.csdn.net/whatday/article/details/46226827
https://www.cnblogs.com/imsoft/p/5944146.html