20年网赚项目,dns服务器什么意思,国内dns最快的服务器推荐

在找工作面试的历程中,面试官异常喜欢考察基础知识,除了数据结构与算法之外,网络知识也是一个异常重要的考察工具。

而网络知识,通常是很抽象,不容易明白的,有许多同砚就在这里裁了跟头。为了更好地通过面试,本文讲举行一次网络知识大扫盲,聊一聊网络知识最基本的DNS。


网络知识扫盲,一文搞懂 DNS

DNS 是什么?

DNS是 Domain Name System 的缩写,也就是 域名剖析系统,它的作用异常简朴,就是凭据域名查出对应的 IP地址。

你可以把它想象成一本伟大的电话本,好比当你要接见域名www.163.com,首先要通过DNS查出它的IP地址是112.48.162.8。


网络知识扫盲,一文搞懂 DNS

域名的层级

由于后面我会讲到 DNS 的剖析历程,因此需要你对域名的层级有一些领会

  • 根域名 :.root 或者 . ,通常是省略的
  • 顶级域名,如 .com,.cn 等
  • 次级域名,如 baidu.com 里的 baidu,这个是用户可以举行注册购置的
  • 主机域名,好比 baike.baidu.com 里的baike,这个是用户可分配的
主机名.次级域名.顶级域名.根域名baike.baidu.com.root

网络知识扫盲,一文搞懂 DNS

DNS 剖析历程

咱们以接见 www.163.com 这个域名为例,来看一看当你接见 www.163.com 时,会发生哪些事:

  1. 先查找内陆 DNS 缓存(自己的电脑上),有则返回,没有则进入下一步
  2. 查看内陆 hosts 文件有没有响应的映射纪录,有则返回,没有则进入下一步
  3. 向内陆 DNS 服务器(一样平常都是你的网络接入服务器商提供,好比中国电信,中国移动)发送请求举行查询,内陆DNS服务器收到请求后,会先查下自己的缓存纪录,若是查到了直接返回就竣事了,若是没有查到,内陆DNS服务器就会向DNS的根域名服务器提议查询请求:叨教老大, www.163.com 的ip是啥?
  4. 根域名服务器收到请求后,看到这是个 .com 的域名,就回信说:这个域名是由 .com 老弟治理的,你去问他好了,这是.com老弟的联系方式(ip1)。
  5. 内陆 DNS 服务器吸收到回信后,照着老大哥给的联系方式(ip1),马上给 .com 这个顶级域名服务器提议请求:叨教 .com 大大,www.163.com 的ip 是啥?
  6. .com 顶级域名服务器吸收到请求后,看到这是 163.com 的域名,就回信说:这个域名是 .163.com 老弟治理的,你就去问他就行了,这是他的联系方式(ip2)
  7. 内陆 DNS 服务器吸收到回信后,根据先辈的指引(ip2),又向 .163.com 这个权威域名服务器提议请求:叨教 163.com 大大,叨教 www.163.com 的ip是啥?
  8. 163.com 权威域名服务器吸收到请求后,确认了是自己治理的域名,马上查了下自己的小本本,把 www.163.com 的ip告诉了 内陆DNS服务器。
  9. 内陆DNS服务器吸收到回信后,异常地开心,这下总算拿到了www.163.com的ip了,马上把这个新闻告诉了要求查询的客户(就是你的电脑)。由于这个历程对照漫长,内陆DNS服务器为了节省时间,也为了只管不去打扰列位老大哥,就把这个查询效果偷偷地记在了自己的小本本上,利便下次有人来查询时,可以快速回应。

总结起来就是三句话:

  1. 从”根域名服务器”查到”顶级域名服务器”的NS纪录和A纪录(IP地址)
  2. 从”顶级域名服务器”查到”次级域名服务器”的NS纪录和A纪录(IP地址)
  3. 从”次级域名服务器”查出”主机名”的IP地址

网络知识扫盲,一文搞懂 DNS

网络知识扫盲,一文搞懂 DNS

DNS的缓存时间

上面的几个步骤里,可以看到有两个地方会缓存 DNS 的查询纪录,有了缓存,在一定水平上会提高查询效率,但同时在准确率上会有所损失。

因此我们在设置 DNS 剖析的时刻,会有一个 TTL 参数(Time To Live),意思就是这个缓存可以存活多长时间,过了这个时间,内陆 DNS 就会删除这条纪录,删除了缓存后,你再接见,就要重新走一遍上面的流程,获取最新的地址。


网络知识扫盲,一文搞懂 DNS

网络知识扫盲,一文搞懂 DNS

DNS 的纪录类型

当我们在阿里云买了一个域名后,可以设置我们主机域名剖析规则,也就是 纪录。


网络知识扫盲,一文搞懂 DNS

阿里云 域名云剖析

常见的 DNS 纪录类型如下

  • A:地址纪录(Address),返回域名指向的IP地址。
  • NS:域名服务器纪录(Name Server),返回保留下一级域名信息的服务器地址。该纪录只能设置为域名,不能设置为IP地址。
  • MX:邮件纪录(Mail eXchange),返回吸收电子邮件的服务器地址。
  • CNAME:规范名称纪录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转,详见下文。
  • PTR:逆向查询纪录(Pointer Record),只用于从IP地址查询域名,详见下文。

网络知识扫盲,一文搞懂 DNS

DNS 报文结构

后面我将使用 wireshark 抓取 DNS 的数据包,但是在最先之前 ,得先领会一下 DNS 的报文结构


网络知识扫盲,一文搞懂 DNS
  • 事务 ID:DNS 报文的 ID 标识。对于请求报文和其对应的应答报文,该字段的值是相同的。通过它可以区分 DNS 应答报文是对哪个请求举行响应的。
  • 标志:DNS 报文中的标志字段。
  • 问题计数:DNS 查询请求的数目。
  • 回覆资源纪录数:DNS 响应的数目。
  • 权威名称服务器计数:权威名称服务器的数目。
  • 附加资源纪录数:分外的纪录数目(权威名称服务器对应 IP 地址的数目)。

网络知识扫盲,一文搞懂 DNS

Wireshark抓包实战

打开 Wireshark 后,使用 ping 163.com 来提议 DNS 剖析请求,使用 DNS 关键字在Wireshark 过滤。

从抓取的报文整体来看,我们可以大略获取几个信息

  1. DNS 是应用层协议,传输层协议使用的是 UDP
  2. DNS 默认端口是 53

网络知识扫盲,一文搞懂 DNS

请求和应答的报文的截图我放在了下面,接下来我将逐个剖析。

请求


网络知识扫盲,一文搞懂 DNS

应答


网络知识扫盲,一文搞懂 DNS

Transaction ID

请求和应答的事务ID应当是一个:0xd0d7

Flags

标志字段里的内容对照多,每个字段的寄义如下:

  • QR(Response):查询请求/响应的标志信息。查询请求时,值为 0;响应时,值为 1。
  • Opcode:操作码。其中,0 示意尺度查询;1 示意反向查询;2 示意服务器状态请求。
  • AA(Authoritative):授权应答,该字段在响应报文中有用。值为 1 时,示意名称服务器是权威服务器;值为 0 时,示意不是权威服务器。
  • TC(Truncated):示意是否被截断。值为 1 时,示意响应已跨越 512 字节并已被截断,只返回前 512 个字节。
  • RD(Recursion Desired):期望递归。该字段能在一个查询中设置,并在响应中返回。该标志告诉名称服务器必须处置这个查询,这种方式被称为一个递归查询。若是该位为 0,且被请求的名称服务器没有一个授权回覆,它将返回一个能解答该查询的其他名称服务器列表。这种方式被称为迭代查询。
  • RA(Recursion Available):可用递归。该字段只泛起在响应报文中。当值为 1 时,示意服务器支持递归查询。
  • Z:保留字段,在所有的请求和应答报文中,它的值必须为 0。
  • rcode(Reply code):返回码字段,示意响应的差错状态。当值为 0 时,示意没有错误;当值为 1 时,示意报文格式错误(Format error),服务器不能明白请求的报文;当值为 2 时,示意域名服务器失败(Server failure),由于服务器的缘故原由导致没办法处置这个请求;当值为 3 时,示意名字错误(Name Error),只有对授权域名剖析服务器有意义,指出剖析的域名不存在;当值为 4 时,示意查询类型不支持(Not Implemented),即域名服务器不支持查询类型;当值为 5 时,示意拒绝(Refused),一样平常是服务器由于设置的计谋拒绝给出应答,如服务器不希望对某些请求者给出应答。

Answer RRs

回覆资源纪录数,在应答包里为 2,说明返回了两条查询效果,你可以在 Answer 字段里看到。

Authority RRs

权威名称服务器计数

Additionnal RRs

附加资源纪录数

Answers

应答的主要内容,这里返回两条效果,每条效果里的字段有


DNS 挟制 与 HTTP 挟制

通过上面的解说,我们都知道了,DNS 完成了一次域名到 IP 的映射查询,当你在接见 www.baidu.com 时,能准确返回给你 百度首页的 ip。

但若是此时 DNS 剖析泛起了一些问题,当你想要接见 www.baidu.com 时,却返回给你 www.google.com 的ip,这就是我们常说的 DNS 挟制。

荣耀手表2功能最新曝光(一款颜值高超长续航的手表值得拥有)

与之容易混淆的有 HTTP 挟制。

那什么是 HTTP 挟制呢?

你一定见过当你在接见 某个网站时,右下角也突然弹出了一个扎眼的广告弹窗。这就是 HTTP 挟制。

借助别人文章里的例子,它们俩的区别就好比是

  • DNS挟制是你想去机场的时刻,把你给丢到火车站。
  • HTTP挟制是你去机场途中,有人给你塞小广告。

那么 DNS挟制 是若何发生的呢?

下面大概说几种DNS挟制方式:

1.本机DNS挟制

攻击者通过某些手段使用户的计算机熏染上木马病毒,或者恶意软件之后,恶意修改内陆DNS设置,好比修改内陆hosts文件,缓存等。

2. 路由DNS挟制

许多用户默认路由器的默认密码,攻击者可以侵入到路由治理员账号中,修改路由器的默认设置。

3.攻击DNS服务器

直接攻击DNS服务器,例如对DNS服务器举行DDOS攻击,可以是DNS服务器宕机,泛起异常请求,还可以行使某些手段熏染dns服务器的缓存,使给用户返回来的是恶意的ip地址。


网络知识扫盲,一文搞懂 DNS

工具的使用

dig 下令

dig是一个在类Unix下令行模式下查询DNS包罗NS纪录,A纪录,MX纪录等相关信息的工具。

通过 dig (参数:+trace)下令,我们可以看到上面形貌的 DNS 剖析的详细历程


网络知识扫盲,一文搞懂 DNS

从返回的效果,我们可以看得出几点信息:

  1. 我们的内陆 DNS 服务器 ip 为 192.168.1.1,端口为53,你可以在 /etc/resolv.conf 里看到这个设置
  2. 根域名服务器现在全球一共只有十三台,从a.root-servers.net. 到m.root-servers.net. ,它们对应的ip地址,已经内置在内陆DNS服务器中。

若是你只想看到效果,可以使用 +short 参数,可以直接返回 www.163.com 对应着哪几个ip。


网络知识扫盲,一文搞懂 DNS

你也可以加个 @ 参数 ,指定从某个 DNS 服务器举行查询。


网络知识扫盲,一文搞懂 DNS

若是你只想查看指定的纪录类型:


网络知识扫盲,一文搞懂 DNS

host 下令

host 下令 可以看作dig下令的简化版本,返回当前请求域名的种种纪录。


网络知识扫盲,一文搞懂 DNS

whois下令

whois下令用来查看域名的注册情形。


网络知识扫盲,一文搞懂 DNS

nslookup下令

nslookup也是常用的一个查询 DNS 剖析效果的工具



网络知识扫盲,一文搞懂 DNS

你也可以指定公网的域名服务器举行查询,好比常见的 114.114.114.114。


网络知识扫盲,一文搞懂 DNS

网络知识扫盲,一文搞懂 DNS

手动清算内陆缓存

MacOS

$ sudo dscacheutil -flushcache$ sudo killall -HUP mDNSResponder

Windows

$ ipconfig /flushdns
Linux
# 使用NSCD的DNS缓存$ sudo /etc/init.d/nscd restart# 服务器或者路由器使用DNSMASQ$ sudo dnsmasq restart

客服微信:( 181628402)本文链接: https://www.n5w.com/252731.html

20年网赚项目,dns服务器什么意思,国内dns最快的服务器推荐

版权声明:本文内容由互联网用户自觉孝敬,该文看法仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不负担相关法律责任。如发现本站有涉嫌剽窃侵权/违法违规的内容, 请发送邮件至 394062665@qq.com 举报,一经查实,本站将马上删除。

本文来源于自互联网,不代表n5网立场,侵删。发布者:虚拟资源中心,转载请注明出处:https://www.n5w.com/269565.html

(0)
打赏 微信扫一扫 微信扫一扫
虚拟资源中心虚拟资源中心网络小白
上一篇 2020年7月22日 17:29
下一篇 2020年7月22日 17:29

相关推荐

联系我们

电话:

在线咨询:点击这里给我发消息

邮件:@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

公众号