Dns域名解析服务器
前言
域名解析服务器的介绍
域名服务器的类型划分
DNS域名解析的过程
为什么需要DNS解析域名为IP地址?
通俗理解Dns
DNS劫持
DNS污染
Dns面试经验
前言
DNS是一个应用层协议,用来获取域名对应的IP地址
域名解析服务器的介绍
DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。
DNS系统使用的是网络的查询,那么自然需要有监听的port。DNS使用的是53端口,在/etc/services(搜索domain)这个文件中能看到。通常DNS是以UDP这个较快速的数据传输协议来查询的,但是没有查询到完整的信息时,就会再次以TCP这个协议来重新查询。所以启动DNS时,会同时启动TCP以及UDP的port53。
域名服务器的类型划分
DNS域名解析的过程
1、在浏览器中输入www . qq .com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理qq.com的DNS服务器地址给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www . qq .com主机。
6、如果用的是转发模式,本地DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。找到最后把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
注:从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间使用的交互查询就是迭代查询。
114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS。
8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用。
为什么需要DNS解析域名为IP地址?
首先计算机在网络上通讯时只能识别IP地址(网络通讯大部分是基于TCP/IP协议,而TCP/IP是基于IP地址的),比如我要在浏览器中访问百度的地址,我可以在地址栏直接输入14.215.177.39就能访问到百度的首页。但是我们无法记住更多的IP地址。那么域名就出现了,域名是由一串用”.”分隔的唯一名字。所以现在我们访问网站的时候,就可以在浏览器地址栏中输入域名(www.baidu.com),那么DNS就会把域名翻译成IP,然后访问IP。
通俗理解一遍
浏览器:@浏览器缓存,你知道www.baidu.com对应的IP么?浏览器缓存:知道,是xxxx浏览器:好的,我去访问啦!浏览器缓存:不知道浏览器:@系统缓存,你知道www.baidu.com对应的IP么?系统缓存:我看下hosts哦,找到了,是xxxx浏览器:好的,我去访问啦~系统缓存:我看下hosts哦,哎呀没有找到哎浏览器:好的,我无能为力了,@客户机想想办法客户机:我去问问@本地DNS服务器,你知道www.baidu.com对应的IP么?本地DNS服务器:我去DNS服务器缓存中找找,找到了,是xxxx客户机:@浏览器,是xxxx,你去访问吧浏览器:好的,我去访问啦#本地DNS服务器:我去DNS服务器缓存中找找,哎呀没有找到哎本地DNS服务器:想个办法,先去找大哥@根DNS服务器,你知道www.baidu.com对应的IP么?根DNS服务器:我知道com DNS服务器的IP,你叫他给你查本地DNS服务器:好的,@com DNS服务器,你知道www.baidu.com对应的IP么?com DNS服务器:我知道baidu.com DNS服务器的IP,你叫他给你查本地DNS服务器:怎么开始踢皮球了@baidu.com DNS服务器,你知道www.baidu.com对应IP么?baidu.com DNS服务器:我这里查到了,IP是xxxx本地DNS服务器:太开心了@客户机IP是xxxx。这么麻烦,先记到DNS服务器缓存,免得下次又这么折腾。客户机:@浏览器 IP是xxxx浏览器:好的,我去访问啦
DNS劫持
①DNS决定的是我们的域名将解析到哪一个IP地址的记录,是基于UDP协议的一种应用层协议。这种攻击的前提是攻击者掌控了你的本地DNS服务器。
②攻击者劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致用户对该域名地址进行访问的时候,由原来的IP地址转入到修改后的IP地址。结果就是让正确的网址不能解析或者是被解析到另一个网址的IP,实现获取用户资料或者破坏原有网址正常服务的目的。
④由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的DNS服务器能够返回正常的IP地址,或者修改DNS以及直接IP访问。
一般而言,用户上网的DNS服务器都是运营商分配的,所以在这个节点上,运营商可以做一些事情,比如,你去访问www.a.com,正常DNS应该返回10.0.0.1,而运营商劫持后,会返回一个运营商的中间服务器IP,访问该服务器会一致性的返回302(暂时重定向),让用户浏览器跳转到预处理好的带广告的网页,在该网页中再通过iframe打开用户原先访问的地址。
DNS污染
①DNS污染又称域名服务器缓存投毒(DNS cache poisoning),它和DNS劫持的不同之处,在于污染针对的是DNS缓存,是在查询信息到达目标DNS服务器前,经过的节点上做手脚,而劫持是DNS服务器中记录的是错误的内容。(总结下就是DNS劫持是修改DNS服务器,DNS污染是修改DNS缓存。)
②举例:
对于GFW来说,DNS劫持用于国内服务器,因为可以修改服务器中的DNS记录,而对于国外服务器GFW无法更改其内容,故采用DNS污染的方式篡改用户收到的信息。其中的过程是,当你向国外DNS服务器查询DNS记录时,这些流量走到国际出口带宽的时候会遇到GFW的关键字审查,如果上了黑名单,GFW会立即向你返回一个虚假的DNS记录。上面也说到DNS走的是UDP协议,加上DNS查询结果只认最快返回的,所以一定是先收到了GFW给你返回的虚假DNS记录,就算马上你收到了真正的来自国外DNS的回复,也会被你的系统无视掉。这种攻击也被称为中间人攻击。
面试经验
一:在浏览器中输入www.baidu.com,按enter键发生了什么
1.Dns解析,ip+port
(1)查询本机浏览器的缓存,查到了返回ip给浏览器
(2)查询操作系统的缓存;ipconfig/displaydns
(3)操作系统中/etc/hosts文件 ip和名字的映射关系
(4)访问本地dns服务器,dns服务器给我返回解析的ip(如果本地没有的话)
本地域名服务器(114.114....)去访问根域名服务器(.), 根域名服务器不会解析(www.baidu.com),根域名服务器会告诉本地域名服务器:com顶级域名服务器在哪儿(IP)
本地域名服务器(114.114....)去访问顶级域名服务器(com), com顶级域名服务器也不会解析(www.baidu.com), 顶级域名服务器会告诉本地域名服务器, baidu二级域名服务器在哪儿(IP)
本地域名服务器(114.114....)去访问二级域名服务器(baidu), baidu二级域名服务器也不会解析(www.baidu.com), 二级域名服务器会告诉本地域名服务器,www三级域名服务器在哪儿(ip)
本地域名服务器(114.114....)去访问三级域名服务器(www), www三级服务器解析www.baidu.com,如果解析成功了,返回IP给本地域名服务器
本地域名服务将ip返回给浏览器
2.tcp连接
3.http请求
HTTP协议工作过程
概述:
浏览器进行DNS域名解析,得到对应的IP地址
根据这个IP,找到对应的服务器建立连接(三次握手)
建立TCP连接后发起HTTP请求(一个完整的http请求报文)
服务器响应HTTP请求,浏览器得到html代码(服务器如何响应)
浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)
浏览器对页面进行渲染呈现给用户
数据传输完成,发送断开连接请求,服务器关闭TCP连接(四次挥手)
二:递归查询,迭代查询
1. DNS解析(1-4): 递归查询, (5-8): 迭代查询
1)查询浏览器的缓存: 查到了返回IP给浏览器
2)查询操作系统的缓存: ipconfig/displaydns
3)操作系统中/etc/hosts: ip和名字的映射关系
4)访问本地dns服务器,dns服务器给我返回解析后的IP
5)本地域名服务器(114.114....)去访问根域名服务器(.), 根域名服务器不会解析(www.baidu.com),根域名服务器会告诉本地域名服务器:com顶级域名服务器在哪儿(IP)
6)本地域名服务器(114.114....)去访问顶级域名服务器(com), com顶级域名服务器也不会解析(www.baidu.com), 顶级域名服务器会告诉本地域名服务器, baidu二级域名服务器在哪儿(IP)
7)本地域名服务器(114.114....)去访问二级域名服务器(baidu), baidu二级域名服务器也不会解析(www.baidu.com), 二级域名服务器会告诉本地域名服务器,www三级域名服务器在哪儿(ip)
8)本地域名服务器(114.114....)去访问三级域名服务器(www), www三级服务器解析www.baidu.com,如果解析成功了,返回IP给本地域名服务器
本地域名服务器将IP返回给浏览器
相关文章:
Dns域名解析服务器
前言 域名解析服务器的介绍 域名服务器的类型划分 DNS域名解析的过程 为什么需要DNS解析域名为IP地址? 通俗理解Dns DNS劫持 DNS污染 Dns面试经验 前言 DNS是一个应用层协议,用来获取域名对应的IP地址 域名解析服务器的介绍 DNS(Dom…...
关于 JavaScript 中的 Promises
在 JavaScript 中,Promise 是一个对象,它表示一个可能还不可用,但会在未来解决的值。Promises 用于处理异步操作,例如发出网络请求或访问数据库,其中结果不是立即可用的。如果你准备好了,我想开始我们的冒险…...
PMP考前冲刺题——错题集
3、 [多选] 采购部门需要向全球不同的供应商采购项目所需的各种商品,所有采购订单均己发送给供应商并已按要求处理。项目经理后来收到客户提出的变更请求。由于项目经理未及时通知采购部门,运抵的所有物品都是按原来的需求所提供。 项目经理本应做什么来…...
【C++】30h速成C++从入门到精通(多态)
多态的概念多态:通俗来说就是多种心态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。多态的定义及实现多态的构成条件多态是在不同继承关系的类对象,去调用同意函数,产生了不同的行为࿰…...
从proc文件系统中获取gateway的IP地址
在linux的命令行下获取当前网络环境的gateway的IP并不是一件难事,常用的命令有ip route或者route -n,其实route -n也是通过读取proc文件系统下的文件来从内核获取路由表的,但ip route是通过netlink来获取的路由表;本文将讨论如何编写程序从proc文件系统中获取路由表,并从路…...
【LeetCode】剑指 Offer(17)
目录 题目:剑指 Offer 34. 二叉树中和为某一值的路径 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer …...
MySQL索引类型
MySQL 是最流行的关系型数据库管理系统,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 索…...
你了解HashMap吗?
一、前言:面试过的人都知道,HashMap是Java程序员在面试中最最最经常被问到的一个点,可以说,不了解HashMap都不好意思说自己是做Java开发的。基本上你去面试十家公司,有七八家都会问到你HashMap。那么今天,就…...
我一个女孩子居然做了十年硬件……
2011年,一个三本大学的电子信息专业的大三女学生跟2个通信专业的大二男生组成了一组代表学校参加2011年“瑞萨杯”全国大学生电子设计大赛,很意外的获得了湖北赛区省三等奖,虽然很意外,但还是挺高兴的,毕竟第一次为喜欢…...
【Linux】编译器gcc g++和调试器gdb的使用
文章目录1.编译器gcc/g1.1C语言程序的翻译过程1.预处理2.编译3.汇编4. 链接1.2 链接方式与函数库1.动态链接与静态链接2.动态库与静态库1.3 gcc与g的使用2.调试器gdb2.1debug和release2.2gdb的安装2.3gdb的使用2.4gdb的常用指令3.总结1.编译器gcc/g 1.1C语言程序的翻译过程 1…...
高效能自动化港口数字化码头智慧港航,中国人工智能企业CIMCAI世界港航人工智能领军者,成熟港口码头人工智能产品中国人工智能企业
打造高效能自动化港口数字化码头智慧港航,中国人工智能企业CIMCAI中集飞瞳世界港航人工智能领军者,成熟港口码头人工智能产品全球顶尖AI科技CIMCAI成熟AI产品全球前三船公司及港口落地,包括全球港口/堆场智能闸口验箱,全球港口岸边…...
HTTP协议(一)
HTTP协议(一) 什么是HTTP协议 客户端连上web服务器后,如果想要获得web服务器中的某个web资源,需要遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器之间通讯的格式;基于TCP连接的传输协议ÿ…...
计算神经网络参数量Params、计算量FLOPs(亲测有效的3种方法)
1.stat(cpu统计) pip install torchstat from torchstat import statstat(model, (3, 32, 32)) #统计模型的参数量和FLOPs,(3,32,32)是输入图像的size 结果: 问题:当网络中有自定义参数时&am…...
sizeof与一维数组和二维数组
🍕博客主页:️自信不孤单 🍬文章专栏:C语言 🍚代码仓库:破浪晓梦 🍭欢迎关注:欢迎大家点赞收藏关注 sizeof与一维数组和二维数组 文章目录sizeof与一维数组和二维数组前言1. sizeof与…...
Spark UI
Spark UIExecutorsEnvironmentStorageSQLExchangeSortAggregateJobsStagesStage DAGEvent TimelineTask MetricsSummary MetricsTasks展示 Spark UI ,需要设置配置项并启动 History Server # SPARK_HOME表示Spark安装目录 ${SPAK_HOME}/sbin/start-history-server…...
windows应用(vc++2022)MFC基础到实战(2)
目录向导和资源编辑器使用 MFC 应用程序向导创建 MFC 应用程序使用类视图管理类和 Windows 消息使用资源编辑器创建和编辑资源生成 MFC 应用程序的操作1.创建一个主干应用程序。2.了解即使在不添加你自己的任何一行代码的情况下,框架和 MFC 应用程序向导也能提供的内…...
记一次反射型XSS
记一次反射型XSS1.反射型XSS1.1.前言1.2.测试过程1.3.实战演示1.3.1.输入框1.3.2.插入代码1.3.3.跳转链接2.总结1.反射型XSS 1.1.前言 关于这个反射型XSS,利用的方式除了钓鱼,可能更多的就是自娱自乐,那都说是自娱自乐了,并且对系…...
BUUCTF-[羊城杯 2020]Bytecode
题目下载:下载 这道题是一个关于python字节码的。 补充一下相关知识:https://shliang.blog.csdn.net/article/details/119676978dis --- Python 字节码反汇编器 — Python 3.7.13 文档 手工还原参考:[原创]死磕python字节码-手工还原python源码-软件逆…...
《Uniapp入门指南:从安装到打包的全流程》
Uniapp是一款基于Vue.js的跨平台开发框架,可以快速构建出同时支持多个移动端平台和Web端的应用程序。本文将介绍Uniapp的基础知识和开发流程,帮助读者快速入门Uniapp开发。一、Uniapp的基础知识1.Uniapp的优势Uniapp的最大优势是可以快速开发同时支持多个…...
机器学习算法集成系统
版权所有:CSDN——川川菜鸟 本系统并不作为本专栏要求,这一篇自愿学习。 文章目录 本系统设计背景设计思路完整代码本系统设计背景 随着人工智能技术的不断发展,机器学习成为了人工智能领域的重要组成部分。机器学习算法能够从大量数据中发现模式、规律,并利用这些规律对新…...
scratch绘制雷达 电子学会图形化编程scratch等级考试三级真题和答案解析2022年9月
目录 scratch绘制雷达 一、题目要求 1、准备工作 2、功能实现 二、案例分析...
VRRP主备备份
1、VRRP专业术语 VRRP备份组框架图如图14-1所示: 图14-1:VRRP备份组框架图 VRRP路由器(VRRP Router):运行VRRP协议的设备,它可能属于一个或多个虚拟路由器,如SwitchA和SwitchB。虚拟路由器(Virtual Router):又称VRR…...
【软件逆向】软件破解?病毒木马?游戏外挂?
文章目录课前闲聊认识CTF什么是CTFCTF解题模式什么是逆向定义应用领域CTF中的逆向现状推荐书籍学习要点逆向工程学习基础常规逆向流程阶段一:信息收集阶段二:过保护后静态调试阶段三:结合动态调试阶段四:写解题脚本逆向例题概览1-控制台程序解题过程2-Crackme3-游戏4-移动安全C…...
curl请求常用参数和返回码
curl是一个用于传输数据的工具,支持各种协议,如HTTP、FTP、SMTP等。以下是一些常用的curl请求参数及其作用: -X, --request:指定HTTP请求方法,常见的有GET、POST、PUT、DELETE等。 -H, --header:设置HTTP请…...
【STM32】进阶(一):抢占式优先级和响应式优先级(NVIC_PriorityGroupConfig)
1、简介 STM32(Cortex-M3)中每个中断源都有两级优先级:抢占式优先级(pre-emption priority)和子优先级(subpriority),子优先级也叫响应式优先级。 1.1 抢占式优先级 望文知义,就是优先级高的…...
LogCompilation后JIT输出文件格式解析
https://wiki.openjdk.org/display/HotSpot/LogCompilationoverview https://spotcodereviews.com/articles/optimization/2020/12/23/why-does-the-jit-continually-recompile-the-same-method.html task_queued count表示总共执行次数,iicount表示解释器执行次数…...
Linux学习第二十四节-Podman容器
一、容器的概念 容器是由一个或多个与系统其余部分隔离的进程组成的集合。我们可以理解为“集装箱”。 集装箱是打包和装运货物的标准方式。它作为一个箱子进行标记、装载、卸载,以及从一个 位置运输到另一个位置。该容器的内容与其他容器的内容隔离,…...
基于quartz实现定时任务管理系统
基于quartz实现定时任务管理系统 背景 说起定时任务框架,首先想到的是Quartz。这是定时任务的老牌框架了,它的优缺点都很明显。借助PowerJob 的readme文档的内容简单带过一下这部分。 除了上面提到,还有elastic-job-lite、quartzui也是相当…...
vue-element-admin:基于element-ui 的一套后台管理系统集成方案
文章目录一、vue-element-admin1、vue-element-admin1.1简介1.2安装2、vue-admin-template2.1简介2.2安装一、vue-element-admin 1、vue-element-admin 1.1简介 vue-element-admin是基于element-ui 的一套后台管理系统集成方案。 GitHub地址:https://github.com…...
KVM-7、KVM 虚拟机创建的几种方式
通过对 qemu-kvm、libvirt 的学习,总结三种创建虚拟机的方式: (1)通过 qemu-kvm 创建 (2)通过 virt-install 创建 (3)通过 virt-manager 创建 在使用这三种创建虚拟机前提是 宿主机必须支持 cpu 的硬件虚拟化技术(Intel 是 vmx,AMD 是svm),通过下面方式进行查看…...
漳州网站建设喊博大科技/百度客服电话号码
概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:L…...
wordpress订阅表格代码/seo公司 上海
linux目录结构及文件基本操作 常用命令 切换目录 cd 当前目录 . 上一级目录 .. (.和..开头的都是隐藏文件) 查看隐藏文件 ls -a 上一级所在目录 - 当前用户home目录 ~ 获取当前所在路径 pwd 创建文件 touch 文件名 创建目录 mkdir 目录名 创建多级目录 m…...
中国水运建设行业协会网站/中国seo排行榜
n_estimators:数值型取值 含义:森林中决策树的个数,默认是10 criterion:字符型取值 含义:采用何种方法度量分裂质量,信息熵或者基尼指数,默认是基尼指数 max_features:取值为int型, float型, string类型…...
关于网站建设的题目/线上推广的公司
SAP EWM和AGV机器人究竟是如何连接 很多攻城狮都对EWM如何与AGV对接的问题感兴趣,那么本文就来探讨一下如何让EWM和AGV做朋友吧。 先举个栗子,某天你和心中的女神约饭,你打开点评软件找到了合适的餐馆,然后打开导航软件ÿ…...
公司网站建设服务公司/宁德市自然资源局
完毕Swift的语法关之后。来点实际的Task,第一个任务是写一个tableview,使用cocoaTouch里tableview这个经常使用的控件。 创建project。选择Swift语言 首先是用Obejctive-C写的最简单的tableview 点击下载源代码 然后是Swift写的tableview 点击下载源代码…...
企业网站的模块功能/青岛网站建设
打印出一个等腰三角形。 思路很容易:双重for循环处理。 难点在于如何控制等腰,让图形像个金字塔,可以想象一个矩形挖成等腰三角形 package com.math.forth;/**** 打印出一个等腰三角形。 思路很容易:双重for循环处理。 * 难点在于…...