DNS域名解析
DNS 域名解析
域名注册完成后首先需要做域名解析,域名解析就是把域名指向网站所在服务器的IP,让人们通过注册的域名可以访问到网站。
IP地址是网络上标识服务器的数字地址,为了方便记忆,使用域名来代替IP地址。域名解析就是域名到IP地址的转换过程,域名的解析工作由DNS服务器完成。
DNS服务器会把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
我们在上网的时候,通常使用的方式域名,而不是 IP 地址,因为域名方便人类记忆。那么实现这一技术的就是 DNS 域名解析,DNS 可以将域名网址自动转换为具体的 IP地址。
对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
域名的层级关系
DNS 中的域名都是用句点来分隔的,比如 www.server.com ,这里的句点代表了不同层次之间的界限。在域名中,越靠右的位置表示其层级越高。
毕竟域名是外国人发明,所以思维和中国人相反,比如说一个城市地点的时候,外国喜欢从小到大的方式顺序说起(如 XX 街道 XX 区 XX 市 XX 省),而中国则喜欢从大到小的顺序(如 XX 省 XX 市 XX 区 XX 街道)。
根域是在最顶层,它的下一层就是 com 顶级域,再下面是 server.com。所以域名的层级关系类似一个树状结构:
- 根 DNS 服务器
- 顶级域 DNS 服务器(com)
- 权威 DNS 服务器(server.com)
根域的 DNS 服务器信息保存在互联网中所有的 DNS 服务器中。这样一来,任何DNS 服务器就都可以找到并访问根域 DNS 服务器了。
因此,客户端只要能够找到任意一台 DNS 服务器,就可以通过它找到根域 DNS 服务器,然后再一路顺藤摸瓜找到位于下层的某台目标 DNS 服务器。
域名解析的工作流程
- -浏览器DNS缓存
- -操作系统DNS缓存
- -本机域名解析文件 hosts
- -路由器DNS缓存
- -ISP DNS 缓存
- -递归搜索
浏览器首先看一下自己的缓存里有没有,如果没有就向操作系统的缓存要,还没有就检查本机域名解析文件 hosts ,如果还是没有,就会 DNS 服务器进行查询,查询的过程如下:(迭代查询)
本地的DNS客户端首先会发出一个 DNS 请求,问 www.server.com 的 IP 是啥,并发给本地 DNS 服务器(也就是客户端的 TCP/IP 设置中填写的 DNS 服务器地址)。
本地域名服务器收到客户端的请求后,如果缓存里的表格能找到www.server.com,则它直接返回 IP 地址。如果没有,本地 DNS 会去问它的根域名服务器:“老大, 能告诉我 www.server.com 的 IP 地址吗?” 根域名服务器是最高层次的,它不直接用于域名解析,但能指明一条道路。
根 DNS 收到来自本地 DNS 的请求后,发现后置是 .com,说:“www.server.com 这个域名归 .com 区域管理”,我给你 .com 顶级域名服务器地址给你,你去问问它吧。”
本地 DNS 收到顶级域名服务器的地址后,发起请求问“老二, 你能告诉我 www.server.com 的 IP 地址吗?”
顶级域名服务器说:“我给你负责 www.server.com 区域的权威 DNS 服务器的地址,你去问它应该能问到”。
本地 DNS 于是转向问权威 DNS 服务器:“老三,www.server.com对应的IP是啥呀?”。server.com 的权威 DNS 服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。
权威 DNS 服务器查询后将对应的 IP 地址 X.X.X.X 告诉本地 DNS。
本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。
至此,我们完成了 DNS 的解析过程。现在总结一下,整个过程我画成了一个图。
DNS解析过程中的知识
域名解析时会添加解析记录,这些记录有:A记录、AAAA记录、CNAME记录、MX记录、NS记录、TXT记录。
DNS记录类型
A记录
用来指定主机名(或域名)对应的IP地址记录
通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。
AAAA记录
域名的
IPv6地址。
NS记录
域名服务器记录,用来指定该域名由哪个
DNS服务器来进行解析。指定哪个域名服务器可以解析该域名的子域名。!!!!!可以修改为我们指定的
DNS服务器
MX记录
邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。
如:
smtp邮箱域名的IP地址。给client端指明某个域名的邮件服务器地址。
在后续学习邮件伪造的时候会碰到一个叫SPF的东西,,,好像是预防邮件伪造,后面学到了再说
CNAME记录
别名记录,允许您将多个名字映射到同一台计算机。
可以理解为域名的重定向吧,主要方便
IP地址的变更。比如cdn厂商会给客户企业分配固定的cname而不是IP,如果分配IP,cdn厂商做IP调整就受限哪些客户企业的哪些域名绑定了这个IP,需要沟通服务迁移。还有在企业多个域名(www/ftp或其他业务分类的域名)对应一个入口IP地址时候,也可以给多个域名做cname,便于后期的IP调整。总之,别名是一种松耦合的处理办法。
简单来说,A记录就是把一个域名解析到一个IP地址,而CNAME记录就是把域名解析到另外一个域名。
TXT记录
一般指某个主机名或域名的说明。以记录联系方式、服务版本信息、反垃圾邮件等。
PTR记录
根据
IP反向查找域名。
SRV记录
服务的
IP地址记录,包含ip、port、priority、weight。
SOA记录
授权机构记录,记录
ns中哪个是主服务器。
泛域名与泛解析
泛域名是指在一个域名根下,以 *.Domain.com 的形式表示这个域名根所有未建立的子域名。 泛解析是把 *.Domain.com 的A记录解析到某个IP 地址上,通过访问任意的前缀 .domain.com 都能访问到你解析的站点上。
渗透过程中碰到泛解析的话,往往收集的子域名信息就没有太大意义了,因为都是解析到同一个IP
域名绑定
域名绑定是指将域名指向服务器IP的操作
如何查看自己VPS的域名服务器?
我们可以自己查询下域名服务器,以确定是否设置生效。CMD 运行 nslookup -qt=ns 域名 -> 回车,nameserver 后面的就是域名服务器地址。
实际上有了自己的域名后,做一做这个域名解析的过程就懂了
有的网站,其域名服务器是指向自己的,以mingy老师这个为例:

他是如何设置的呢?
即将其域名的NS值,设置为ns.mingy.xyz,这样即将其域名服务器指向自己的ns.mingy.xyz子域名上面,ns的A记录,指向了本机的IP,所以实际上就是web服务和域名解析服务器都在同一台机器之上~~~
常用DNS 服务器
[免费公共 IPv4/IPv6/DoT/DoH DNS 服务器大全 Public DNS Server - DNS.iCoA.CN](https://dns.icoa.cn/#:~:text=Free Public DNS Server 1 腾讯 DNS (DNSPod),… 8 中国移动 IPv6 DNS … More items)

233.5.5.5阿里云223.5.5.5 / 223.6.6.6
- 稳定(Stable)
全球数百台服务器组成的集群,充足的带宽资源
自研高性能DNS系统和清洗中心,保障系统稳定和安全
- 快速(Speedy)
BGP anycast技术,让您访问最近的DNS集群
动态缓存技术,加速解析响应
- 智能(Smart)
精确的IP区域划分,解析结果更准确
即将支持edns-client-subnet 技术,调度精准
114 DNS:114.114.114.114
- 114DNS 的优势:
高速 电信联通移动全国通用DNS,能引导您到最快的网站,手机和计算机都可用
稳定 DNS解析成功率超高,与默认DNS相比,使用114DNS可访问国内外更多的网站
可靠 3000万个家庭和企业DNS的后端技术支持,多次为电信运营商提供DNS灾备
- 114DNS 的特色:
纯净 无劫持 无需再忍受被强扭去看广告或粗俗网站之痛苦
拦截 钓鱼病毒木马网站 增强网银、证券、购物、游戏、隐私信息安全
学校或家长可选拦截 色情网站 保护少年儿童免受网络色情内容的毒害
8.8.8.8谷歌
百度 DNS
DNS 地址:180.76.76.76
这是百度公司提供的公共 DNS 服务,百度 DNS 主页写的是云防护、无劫持、更精准。
DNSpod
DNS 地址:电信:首选:101.226.4.6 联通:首选:123.125.81.6 移动:首选:101.226.4.6 铁通:首选:101.226.4.6
DNS 派旨在为用户提供一个高速、稳定、安全的上网环境,虽然知道 DNS 派的人可能不如百度 DNS、阿里 DNS 的多,不过 DNS 派的口碑还是不错的。
OneDNS
OneDNS 主页:南方:112.124.47.27 北方:114.215.126.16
OneDNS 在接触的还是挺早的,不过倒不是使用他们的 DNS 而是 hosts。
OneDNS 收集了相当多的不良网站和恶意网站,当你使用了他们的 hosts 文件再遇到文件中的网站时将会直接被屏蔽。
OneDNS 还有广告屏蔽的功能,OneDNS 会屏蔽网站上的不良广告、比如包含恶意软件、粗俗的广告等等,这也是一个不错的功能。
对了,OneDNS 为了维持运营会在被拦截的页面下挂一个小广告,仅仅只是在被拦截的页面下挂的。基本没什么影响的。
配置DNS:
/etc/resolv.conf 将nameserver改成对应的DNS服务器
具体参考:Linux 使用基础
常见的 DNS 安全攻击有哪些?
- 缓存投毒:它是利用虚假Internet地址替换掉域名系统表中的地址,进而制造破坏。
- DNS(域名系统)劫持又叫域名劫持,指攻击者利用其他攻击手段,篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP,导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址,从而实现非法窃取用户信息或者破坏正常网络服务的目的。
- DNS DDOS攻击:通过控制大批僵尸网络利用真实DNS协议栈发起大量域名查询请求,利用工具软件伪造源IP发送海量DNS查询,发送海量DNS查询报文导致网络带宽耗尽而无法传送正常DNS查询请求。










