知识分享___学网络必知!DNS:隐藏在你每次上网背后的“网络侦探”

张开发
2026/5/19 22:34:34 15 分钟阅读
知识分享___学网络必知!DNS:隐藏在你每次上网背后的“网络侦探”
知识分享 | 学网络必知DNS隐藏在你每次上网背后的“网络侦探”免责声明本平台所有内容包括技术文章、工具及方法仅供网络安全从业人员在合法授权环境下进行学习与研究严禁用于任何非法用途。使用者需在自有或完全授权的环境中操作并对自身行为承担全部责任。因使用本平台内容导致的任何损失本平台不承担责任。我们保留随时更新本声明的权利不另行通知持续使用即视为接受修改内容。请务必遵守法律法规共同维护健康的网络安全研究环境。本文仅展示本人自己使用推荐和分享感受并不做任何商业行为。作者只负责分享自己实践过程。输入网址按下回车页面瞬间加载——这看似简单的操作背后一场精密的侦查行动正在全球网络暗处悄然展开。“当你在浏览器输入‘www.baidu.com’并按下回车到百度首页出现在你面前中间发生了什么”大多数人会回答“浏览器向百度的服务器发送请求然后收到了网页数据。” 但很少有人追问第一个关键问题浏览器是如何知道“www.baidu.com”对应的服务器在哪里的这就像你知道朋友的姓名但想拜访他必须先查到他家的具体地址。在互联网世界这个“查地址”的过程就是由我们今天的主角——DNS域名系统完成的。01 侦探系统DNS的基本概念与原理DNS是Domain Name System(域名系统)的缩写因特网上作为域名和IP地址相互映射的一个分布式数据库能够使用户更方便的访问互联网而不用去记住能够被机器直接读取的IP数串;首先查找客户机的缓存如果没有符合条件的记录就产生一个查询请求并发送给本地DNS服务器。想象一下整个互联网是一个庞大的侦探网络。当你输入一个网址你的电脑成为了一名“委托人”而DNS系统就是你要雇用的侦探社任务是找到这个域名背后的真实“住址”——IP地址。为什么需要这个系统因为人类不擅长记忆数字。比起记住“14.215.177.38”这样的IP地址我们更愿意记住“www.baidu.com”这样的名字。DNS就是两者之间的翻译官。它的工作原理基于查询与响应。你的设备客户端向DNS服务器提出问题“www.baidu.com的IP是什么”服务器则给出答案或指引你去问更“专业”的侦探。整个查询过程通常是透明且瞬间完成的用户几乎无感。TCP/IP 是基于 IP 地址进行通信的但是 IP 地址不太好记。于是出现了另一种方便记忆的标识符那就是主机名。为计算机配置主机名在进行网络通信时直接使用主机名而不用输入一大串的 IP 地址。同时系统通过一个叫hosts的文件实现主机名转换 IP 地址的功能。***hosts 文件包括主机名和 IP 地址的对应关系。***当需要通过主机名访问主机时它就会查看本地的 hosts 文件从文件中找到相对应的 IP 地址然后进行报文发送。如果在 hosts 文件中没找到相关信息则主机访问失败。hosts 文件是主机的本地文件优点是查找响应速度快。它主要用来存储一些本地网络的主机名和 IP 地址的对应信息。这样主机在以主机名访问本地网络主机时通过 hosts 文件可以迅速获得相应的 IP 地址。1.1主机名到IP地址的映射有两种方式静态映射每台设备上都配置主机到IP地址的映射各设备独立维护自己的映射表而且只供本设备使用(通过hosts文件完成);动态映射建立一套域名解析系统(DNS)只在专门的DNS服务器上配置主机到IP地址的映射网络上需要使用主机名通信的设备首先需要到DNS服务器查询主机所对应的IP地址。1.2nslookup当Windows系统用户使用nslookup hostname/domainname命令时DNS 会自动查找注册了主机名和 IP 地址的数据库并返回对应的 IP 地址。02 侦探网络DNS服务器的四大分类在DNS这个庞大的侦探系统中侦探们服务器各司其职形成了一个高效协作的层级结构。1.DNS服务器由解析器和域名服务器组成。2.域名服务器是指保存该网络中所有主机的域名和对应的IP地址并具有将域名转换为IP地址功能的服务器。3.它有两种形式:主服务器和转发服务器;4.DNS使用的TCP和UDP端口都是53主要使用UDP协议服务器之间备份使用TCP协议;DNS服务器分类:根域名服务器是位于全球的13组“总情报中心”。它们不直接知道某个网站的IP但掌握着顶级域的线索。当被询问“www.baidu.com”时它们会指引你“.com区域的事情去找负责 .com 的TLD服务器。”(标号为a~m)顶级域TLD服务器是下一级“区域专家”负责管理如 .com、.net、.org和所有国家的顶级域名如.cn、Vuk等。它们会告诉你“baidu.com 这个域你去问问它的权威服务器。”权威域名服务器是目标的“最终知情人”每个域名都必须在这里“登记在册”。它是域名拥有者设置或指定的掌握着该域名下所有记录的最终答案。在Internet上具有公共可访问主机的每个组织结构必须提供公共可访问的DNS记录。递归DNS服务器是用户直接接触的前台接待员。通常由你的网络服务商ISP或公共DNS如 8.8.8.8提供。它替你跑腿层层向上查询直到拿到最终IP然后缓存起来以便下次快速响应。03 卷宗档案理解DNS的主要参数在DNS服务器的“档案系统”中信息通过几个核心部分被组织和管理起来它们共同构成了域名解析的完整地图。(1)正向查找区域将域名映射到IP地址的数据库用于将域名解析为IP地址。在大部分的DNS查询请求中客户端一般执行正向查找正向查找是基于存储在地址(A)资源记录中的一台计算机的DNS名称搜索。是从域名到IP地址的“顺向名册”。你提供名字它返回地址完成我们日常访问网站所需的全部查询。这类查询希望将IP地址作为应答的资源数据。(2)反向查找区域将IP地址映射到域名的数据库用于将IP地址解析为域名。DNS允许客户端在名称查询期间使用已知的IP地址并根据它查找计算机的域名。则是从IP地址反查域名的“逆向目录”常用于日志分析、垃圾邮件验证等管理场景。就像通过电话号码查询机主姓名但并非所有IP都有对应的域名记录。将主机(A)资源记录手动添加到正向查找区时使用“创建相关的指针(PRT)记录”选项可以将指针记录自动添加到反向查找区域中。(3)资源记录是存储在DNS服务器中的具体条目是“侦探卷宗”里的核心信息。常见类型包括A记录最基础的记录直接将主机名映射到IPv4地址是网站的“家庭住址”。CNAME记录别名记录将一个域名指向另一个域名实现“化名”功能便于统一管理将别名映射到标准DNS域名。MX记录邮件交换记录指定负责接收该域邮件的服务器确保邮件能准确送达。NS记录指定该域的权威DNS服务器是谁是查询路径中的“责任指向标”。TXT记录可存储任意文本信息常用于域名所有权验证、SPF反垃圾邮件策略等。(4)转发器转发器也是一个DNS服务器是本地DNS服务器用于将外部DNS名称的DNS查询转发给该DNS服务。是本地DNS服务器的“外援专线”。当本地服务器无法解析某个查询时它可以将问题转交给指定的、更强大的上游DNS服务器如运营商或公共DNS而不是从根开始查询这通常能加快解析速度。04 DNS域名解析过程域名解析包含两种查询方式分别是递归查询和迭代查询。4.1 递归查询1.主机首先向其本地域名服务器进行递归查询。2.本地域名服务器收到递归查询的委托后也采用递归查询的方式向某个根域名服务器查询。3.根域名服务器收到递归查询的委托后也采用递归查询的方式向某个顶级域名服务器查询。4.顶级域名服务器收到递归查询的委托后也采用递归查询的方式向某个权限域名服务器查询。当查询到域名对应的IP地址后查询结果会在之前受委托的各域名服务器之间传递最终传回给用户主机。4.2 迭代查询当根域名服务器收到本地域名服务器发出的迭代查询请求报文时要么给出所要查询的IP 地址要么告诉本地服务器下一步应该找哪个域名服务器进行查询然后让本地服务器进行后续的查询。1.主机首先向其本地域名服务器进行递归查询。05 追踪路径一次完整的DNS查询全解密当你输入“www.baidu.com”并按下回车到页面加载完成让我们一步步拆解这个毫秒级完成的DNS解析全过程。第一步客户端本地查询三级缓存检查你的电脑不会一上来就满世界问路而是先“自查”浏览器缓存浏览器会缓存最近访问过的域名解析结果。Chrome、Edge等主流浏览器通常缓存1分钟左右。操作系统缓存如果浏览器没找到系统会检查自己的DNS缓存Windows的ipconfig /displaydns可查看。hosts文件最后检查本地的hosts文件位于C:\Windows\System32\drivers\etc\hosts这里可以手动设置域名映射。如果这三处都没有记录你的电脑才会向本地DNS服务器发起正式查询。第二步向本地DNS服务器发起递归查询你的电脑配置了DNS服务器地址通常是运营商自动分配或手动设置为8.8.8.8等公共DNS。此时电脑向本地DNS服务器发出一个递归查询请求“请帮我找到 www.baidu.com的IP地址不管用什么方法请给我最终答案。”关键点在递归查询中客户端把全部责任委托给本地DNS服务器自己进入等待状态。第三步本地DNS服务器的迭代查询之旅本地DNS服务器收到请求后首先检查自己的缓存。如果也没有记录它便化身“侦探”开始在全球DNS层级结构中展开迭代查询。实际查询流程详解1.询问根域名服务器全球13组逻辑根本地DNS“请问 www.baidu.com的IP是多少”根服务器“我不知道具体答案但我知道 .com 区域归谁管。这是 .com 顶级域服务器的地址列表你去问它们吧。”2.询问顶级域TLD服务器本地DNS问 .com 服务器“请问 www.baidu.com的IP是多少”.com 服务器“baidu.com 这个域不归我直接管但我知道它的权威服务器是谁。这是 ns1.baidu.com 的地址你去问它。”3.询问权威域名服务器本地DNS问 ns1.baidu.com“请问 www.baidu.com的IP是多少”权威服务器“终于问到我了www.baidu.com的IP是 14.215.177.38TTL是300秒。”第四步结果返回与缓存本地DNS服务器拿到最终IP后1.缓存结果将“www.baidu.com→14.215.177.38”这个映射关系存入缓存有效期300秒根据TTL值。2.返回客户端将IP地址返回给你的电脑。3.电脑缓存你的操作系统和浏览器也会缓存这个结果。至此DNS解析完成你的浏览器终于拿到了目标服务器的IP地址可以开始建立TCP连接、发送HTTP请求了。递归 vs 迭代两种查询模式的本质区别特性递归查询(Recursive Query)迭代查询(Iterative Query)查询主体客户端 → 本地DNS服务器本地DNS服务器 → 根/TLD/权威服务器责任方本地DNS服务器承担全部查询责任查询请求者本地DNS服务器自己负责返回结果最终答案IP地址或错误最佳指引下一级服务器地址负载承担本地DNS服务器压力大分散到各级权威服务器使用场景客户端与本地DNS之间DNS服务器之间简单记忆递归“你帮我搞定我等你结果”迭代“你告诉我下一步该问谁我自己去问”05 安全警示DNS劫持与防御DNS劫持是常见攻击手段攻击者篡改DNS解析结果将正常域名指向恶意IP。比如将银行网站域名指向钓鱼网站IP。防御措施1.使用可信DNS如8.8.8.8谷歌、1.1.1.1Cloudflare、223.5.5.5阿里云2.开启DNS over HTTPS加密DNS查询防止监听和篡改3.定期检查路由器确保DNS设置未被恶意修改4.注意异常现象如访问知名网站出现证书错误、跳转到奇怪页面06 效率优化多级缓存机制为了提高效率DNS系统设计了多级缓存浏览器缓存最快速但容量小、时间短操作系统缓存系统级别所有应用共享路由器缓存家庭或企业网络级别本地DNS服务器缓存服务大量用户命中率高各级DNS服务器缓存根、TLD、权威服务器都有缓存当缓存命中时解析速度可提升数十倍。这也是为什么第二次访问同一网站通常比第一次快的原因。07 DNS知识点总结DNS服务器的主要参数:正向查找区域、反向查找区域、资源记录、转发器;转发器是网络上的DNS服务器用于将外部域名的DNS查询;动态更新允许客户机在发生更改时动态更新其资源记录;在反向查找区域可以手工增加主机的指针记录也可以自动添加指针记录;增加主机资源记录的**生存时间(TTL)**是指该记录被客户端查询到存放到缓存中(以被今后使用)的持续时间默认值是3600S;DNS服务器分类中的根服务器不需要管理员手动配置;在命令行窗口中可以使用命令行程序nslookup对DNS服务器进行测试(正向测试/反向测试)。清空DNS缓存的是使用ipconfig/flushdns;默认情况下Windows 2003系统是没有安装DNS服务器的;08 实用小贴士如果你觉得网络访问慢或不稳定可以尝试将DNS服务器改为阿里云公共DNS223.5.5.5和223.6.6.6腾讯云DNSPod119.29.29.29谷歌公共DNS8.8.8.8和8.8.4.4有时候仅仅是换一个更快的“侦探社”就能让你的上网体验焕然一新。学习资源如果你也是零基础想转行网络安全却苦于没系统学习路径、不懂核心攻防技能光靠盲目摸索不仅浪费时间还消磨自己信心。这份 360 智榜样学习中心独家出版《网络攻防知识库》专为转行党量身打造01内容涵盖这份资料专门为零基础转行设计19 大核心模块从 Linux系统、Python 基础、HTTP协议等地基知识到 Web 渗透、代码审计、CTF 实战层层递进攻防结合的讲解方式让新手轻松上手真实实战案例 落地脚本直接对标企业岗位需求帮你快速搭建转行核心技能体系这份完整版的网络安全学习资料已经上传CSDN【保证100%免费】**读者福利 |***CSDN大礼包《网络安全入门进阶学习资源包》免费分享 *安全链接放心点击02 知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。03 谁需要掌握本知识库负责企业整体安全策略与建设的CISO/安全总监从事渗透测试、红队行动的安全研究员/渗透测试工程师负责安全监控、威胁分析、应急响应的蓝队工程师/SOC分析师设计开发安全产品、自动化工具的安全开发工程师对网络攻防技术有浓厚兴趣的高校信息安全专业师生04部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解这份完整版的网络安全学习资料已经上传CSDN【保证100%免费】**读者福利 |***CSDN大礼包《网络安全入门进阶学习资源包》免费分享 ***安全链接放心点击**结语DNS解析这个每天发生万亿次的静默过程是互联网能够“按名寻址”而非“按号寻址”的基石。从客户端的递归请求到本地DNS的全球迭代查询再到多级缓存的效率优化每一个环节都体现了分布式系统的精妙设计。再次强调能力越大责任越大。希望我们都能用技术去守护而不是破坏。记得给小编点个“赞”留个关注⚠️ 郑重声明所有内容均用于合法安全研究请务必在授权环境下进行测试。做个白帽子很酷。每一次技术解读、每一篇实战记录都源于大量时间的测试、验证与梳理。如果这份指南为您打开了新的思路或为您节省了宝贵的时间不妨给小编进行简单的打赏支持更多深度内容的诞生。您的每一次点赞、在看、分享都是我们持续分享的动力而直接的赞赏则是对原创内容最温暖的鼓励。让我们一起用技术观察世界用分享传递价值。感谢您的阅读与支持文章来自网上侵权请联系博主

更多文章