dns服务器什么意思,国内dns最快的服务器推荐

在求职面试的过程中,面试官非常喜欢调查基础知识。除了数据结构和算法,网络知识也是一个非常重要的考察对象。但是网络知识通常很抽象,不容易理解,很多同学都在这里栽了跟头。为了更好的通过面试,本文讲一个网络知识的大素养,讲一下网络知识最基本的DNS。什么是DNS?是D...

在求职面试的过程中,面试官非常喜欢调查基础知识。除了数据结构和算法,网络知识也是一个非常重要的考察对象。

但是网络知识通常很抽象,不容易理解,很多同学都在这里栽了跟头。为了更好的通过面试,本文讲一个网络知识的大素养,讲一下网络知识最基本的DNS。

什么是DNS?

是DNS域名系统的缩写,即域名解析系统。它的功能很简单,就是根据域名找出对应的IP地址。

你可以把它想象成一本巨大的电话簿。例如,当你想访问***.163.com这个域名时,你必须首先通过DNS找到它的IP地址是112.48.162.8。

域名级别

正如我稍后将谈到的DNS解析过程,您需要了解一些关于域名的层次结构。

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

DNS解析过程

我们以访问***.163.com的域名为例,看看访问*** . 163 . com会发生什么:

先查找本地 DNS 缓存(自己的电脑上),有则返回,没有则进入下一步查看本地 hosts 文件有没有相应的映射记录,有则返回,没有则进入下一步向本地 DNS 服务器(一般都是你的网络接入服务器商提供,比如中国电信,中国移动)发送请求进行查询,本地DNS服务器收到请求后,会先查下自己的缓存记录,如果查到了直接返回就结束了,如果没有查到,本地DNS服务器就会向DNS的根域名服务器发起查询请求:请问老大, ***.163.com 的ip是啥?根域名服务器收到请求后,看到这是个 .com 的域名,就回信说:这个域名是由 .com 老弟管理的,你去问他好了,这是.com老弟的联系方式(ip1)。本地 DNS 服务器接收到回信后,照着老大哥给的联系方式(ip1),马上给 .com 这个顶级域名服务器发起请求:请问 .com 大大,***.163.com 的ip 是啥?.com 顶级域名服务器接收到请求后,看到这是 163.com 的域名,就回信说:这个域名是 .163.com 老弟管理的,你就去问他就行了,这是他的联系方式(ip2)本地 DNS 服务器接收到回信后,按照前辈的指引(ip2),又向 .163.com 这个权威域名服务器发起请求:请问 163.com 大大,请问 ***.163.com 的ip是啥?163.com 权威域名服务器接收到请求后,确认了是自己管理的域名,马上查了下自己的小本本,把 ***.163.com 的ip告诉了 本地DNS服务器。本地DNS服务器接收到回信后,非常地开心,这下总算拿到了***.163.com的ip了,马上把这个消息告诉了要求查询的客户(就是你的电脑)。由于这个过程比较漫长,本地DNS服务器为了节省时间,也为了尽量不去打扰各位老大哥,就把这个查询结果偷偷地记在了自己的小本本上,方便下次有人来查询时,可以快速回应。

总结起来,就是三句话:

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

DNS的缓存时间DNS的缓存时间

在上面的步骤中,您可以看到有两个地方将缓存DNS查询记录。有了缓存,查询效率会有一定程度的提高,但同时也会损失准确性。

所以我们在配置DNS解析的时候,会有一个TTL参数(生存时间),也就是说这个缓存可以生存多久。此后,本地DNS将删除该记录。删除缓存后,如果再次访问,就要再次经历上述过程,才能得到最新的地址。

DNS 的记录类型DNS的记录类型

我们在阿里云买域名的时候,可以配置我们的主机域名解析规则,也就是记录。

阿里云域名解析

常见的DNS记录类型如下

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

DNS消息结构

稍后我将使用wireshark来抓取DNS数据包,但在开始之前,我需要了解DNS的消息结构。

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

Wireshark抓包实战事务ID:DNS消息的ID标识。对于请求消息及其相应的回复消息,该字段的值是相同的。它可以区分DNS响应消息响应哪个请求。标志:DNS消息中的标志字段。问题:DNS查询请求的数量。答案资源记录的数量:DNS响应的数量。权威名称服务器计数:权威名称服务器的数量。附加资源记录:附加记录的数量(权威名称服务器对应的IP地址数量)。Wireshark,抢包,实战

打开Wireshark后,使用ping 163.com发起DNS解析请求,并在Wireshark中使用DNS关键字进行过滤。

从整个捕获的消息中,我们可以大致获得几个信息。

DNS 是应用层协议,传输层协议使用的是 UDPDNS 默认端口是 53

并且下面列出了请求和响应的消息截图,接下来我会一一分析。

请求

回复

交易ID

请求和响应的事务ID应该是1:0xd0d 7。

标志

徽标字段中有许多内容,每个字段的含义如下:

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 时,表示报文格式错误(For***t error),服务器不能理解请求的报文;当值为 2 时,表示域名服务器失败(Server failure),因为服务器的原因导致没办法处理这个请求;当值为 3 时,表示名字错误(Name Error),只有对授权域名解析服务器有意义,指出解析的域名不存在;当值为 4 时,表示查询类型不支持(Not Implemented),即域名服务器不支持查询类型;当值为 5 时,表示拒绝(Refused),一般是服务器由于设置的策略拒绝给出应答,如服务器不希望对某些请求者给出应答。

回答RRs

***中答案资源记录数为2,表示返回两个查询结果,可以在答案字段看到。

授权RRs

权威名称服务器计数

附加RR

附加资源记录的数量

答案

响应的主要内容,这里有两个结果,每个结果中的字段是

DNS劫持和HTTP劫持

通过上面的解释,我们都知道DNS已经完成了一个从域名到ip的映射查询,当你访问***.baidu.com的时候,它可以正确的把百度首页的IP返回给你。

但是如果这个时候DNS解析出现了一些问题,当你想访问***.baidu.com的时候,返回的是***.google.com的ip,也就是我们常说的DNS劫持。

很容易和HTTP劫持混淆。

那么什么是HTTP劫持呢?

你一定见过你在访问一个网站的时候,右下角会弹出一个广告弹窗。这就是HTTP劫持。

借助别人文章里的例子,两者的区别就像

DNS劫持是你想去机场的时候,把你给丢到火车站。HTTP劫持是你去机场途中,有人给你塞小广告。

那么DNS劫持是怎么发生的呢?

以下是一些DNS劫持方法:

1。本地DNS劫持

攻击者通过某种手段使用户电脑感染木马病毒或恶意软件后,恶意修改本地DNS配置,如修改本地hosts文件、缓存等。

2。路由DNS劫持

很多用户默认路由器的默认密码,攻击者可以入侵路由管理员的账号,修改路由器的默认配置。

3。攻击DNS服务器

对dns服务器的直接攻击,比如对DNS服务器的DDOS攻击,可以是由于DNS服务器宕机和异常请求造成的,也可以通过一些手段感染DNS服务器的缓存,从而将恶意的ip地址返回给用户。

工具的使用

摘要命令

Dig是一个在类Unix命令行模式下查询DNS包括NS记录、A记录、MX记录等相关信息的工具。

通过dig (parameter: +trace)命令,我们可以看到上面描述的DNS解析的详细过程。

从返回的结果中,我们可以看到几条信息:

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

如果您只想查看结果,可以使用+short参数直接返回***.163.com对应的ip地址。

您还可以添加@参数来指定来自DNS服务器的查询。

如果您只想查看指定的记录类型:

主机命令

host命令可以看作是dig命令的简化版,它返回当前请求的域名的各种记录。

whois命令

whois命令用于检查域名的注册情况。

nslookup命令

Nslookup也是查询DNS解析结果的常用工具。

您也可以指定要查询的公共网络的域名服务器,如常见的114.114.114.114。

手动清理本地缓存手动清理本地缓存

苹果

$ sudo dscacheutil -flushcache$ sudo killall -HUP mDNSResponder

Windows操作系统

$ ipconfig /flushdnsLinux

# 使用NSCD的DNS缓存$ sudo /etc/init.d/nscd restart# 服务器或者路由器使用DNSMASQ$ sudo dn***asq restart

本文来自西绿柿投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/505173.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 04-15
下一篇 04-15

相关推荐

  • 国内dns地址哪个最快 国内dns最快的服务器域名地址

    域名服务器(Do***in Name Server)DNS(域名系统)作为互联网的基础服务,是互联网上一个将域名和IP地址相互映射的分布式数据库,可以让用户更方便地访问互联网,而不必记住机器可以直接读取的IP号码串。通过主机名最终得到主机名对应的IP地址的过程称为域名解析(或主机名解析)。

    2023-07-26 18:45:01
    1027 0
  • 电脑被dns劫持了怎么办 dns被劫持如何修复

    最近有用户说自己的电脑经常莫名其妙的弹出广告,甚至无法上网。被排除后,他们发现自己电脑的DNS被劫持了。怎样才能修复电脑被劫持的DNS?下面介绍如何解决电脑dns劫持问题。以Win10为例,以Win7为参考。解决方法是一样的。计算机dns劫持的完美解决方案方法1:以Win10为例,右

    2023-07-24 04:07:01
    349 0
  • windows dns 无法上网咋办 电脑上dns服务器不可用怎么解决

    在日常使用电脑时,我们经常会遇到网络不可用的问题。当电脑没有了网,就意味着鸟儿没有了翅膀,当吴空没有了金箍棒,电脑似乎也就失去了存在的意义。但是经过一番检查,发现路由灯亮了,网线也接好了,WiFi密码也没问题,但是电脑无法上网。这时候可能不是硬件问题,可能是电

    2023-07-13 19:54:02
    767 0
  • dns是什么意思 DNS,修改几个数字就能提升网速-

    有多少人听说过修改DNS提高网速?传说只要换一串数字就能立马提高网速。有这么神奇吗?那是什么?今天就来说说DNS。什么是DNS?DNS(域名系统),简单来说就是把我们网站的域名翻译成IP地址的系统。例如,如果我们想访问百度,我们会在网页中键入***.baidu.com,但计算机不会理

    2023-07-05 15:54:01
    934 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

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

关注微信