什么是DNS解析

前言

dns解析是客户端输入url,浏览器进行的第一步操作,本文是我学习总结的什么是DNS解析的文章。

1什么是DNS和DNS解析器

DNS简称域名系统,当域名申请时,管理者会把域名挂靠在域名系统服务器上,通过DNS解析器查找域名对应的信息,DNS解析器是域名系统(DNS)中的核心服务器类型,用于将域名转换为网络可识别的IP地址。作为互联网基础服务,其通过层级式域名管理体系实现地址的统一寻址,支持递归查询(本地服务器代理)和迭代查询(逐级引导)两种解析模式。

2DNS的查询过程是什么样的

DNS查询,我理解就是像你想知道一个人的电话号码(服务器ip地址),电话号码比较难记,所以一般使用别名比如小明同学(谷歌,百度这种域名化就好记了),当你访问他们的域名时,他们就会发起一个dns解析。 举个例子如下:

  1. 本地缓存查找:你想知道学校里小明同学的电话,首先从你自己的记事本查找(本地缓存)。如果找到了,DNS 解析过程就结束了。

  2. DNS 服务器查找:如果本地缓存没有找到,你开始找到老师(DNS 服务器)。老师会从他的记事本里面开始查找(DNS 缓存)。同理,如果找到了就结束这个过程。

  3. 递归查询:如果老师也没有找到,老师会向其他老师(上级 DNS 服务器)询问,其他老师也会告诉你你要找谁谁谁,就好比你问A老师你知道小明同学的电话吗,A发现自己不知道,A就会去问B,这个时候B会告诉你,你去找C,然后A就问C,C说:我知道小明的电话(ip地址),这个时候A老师把结果告诉你,当然也有可能找不到,当A找完所有的老师(顶级域名服务器--->权威域名服务器),如果都没有那么就解析失败了。如下图:

3.什么是DNS劫持

就是当你访问的域名被黑客或者病毒软件篡改了域名指向的ip地址,这个时候你访问的是www.xxxx.com,假设应该指向127.0.0.1 ,那么此时被黑客或者病毒入侵修改成了128.1.1.1,这个时候用户访问的www.xxxx.com指向了128.1.1.1,使得用户无法访问真正的服务,甚至导向新的服务地址从而被骗什么的,这个情况就是域名劫持以及可能发生的后果。

4把myapp.test映射成本地nginx的ip

在如下地址的文件中

makefile 复制代码
C:\Windows\System32\drivers\etc\hosts

的最后一行添加如下的代理,让myapp.test指向你本地127.0.0.1,类似于localhost

复制代码
127.0.0.1 myapp.test

然后配置你本地的nginx服务配置

nginx 复制代码
server {
    listen 80;
    server_name myapp.test;

    root /var/www/html;
    index index.html;

    location / {
        allow all;
        try_files $uri $uri/ =404;
    }
}

如下当你访问myapp.test的时候就指向了你本地的nginx项目了

总结

DNS是浏览器访问服务器的第一步,就像人打电话需要知道另外一个人的电话号码一样,这个过程就是dns解析,如果信息被篡改,你得到了诈骗电话,那么这个就是DNS劫持。

相关推荐
Ticnix18 小时前
从零封装 Ollama AI 服务:TypeScript 流式对话工具开发
前端·ollama
米丘18 小时前
Vue3 渲染模式全解析:CSR、预渲染、SSG、SSR 如何选择?
vue.js
ZengLiangYi18 小时前
MCP 协议从零实现:手写最简 MCP Server
前端·javascript·后端
罗超驿18 小时前
2.HTML表格详解:标签、属性与单元格合并实战
前端·html
李子琪。18 小时前
Web 漏洞实战全解析:CSRF 攻击原理、Token 防御机制与实验验证(上)
前端·网络·经验分享·csrf
小救星小杜、18 小时前
new Router base的作用
前端·javascript·vue.js
程序二次开发18 小时前
wordpress 文章页,文章分类,单页,woocommerc 产品页,分类页添加.html后缀
大数据·前端·html·php
CodeSheep18 小时前
苦撑13年,创始人离职出走,拉勾终究还是倒下了…
前端·后端·程序员
a11177618 小时前
html制作的PPT(各种风格)提示词
前端·开源·html