域名是如何变成IP的

article/2025/8/4 13:04:47

本教程是博主个人心血,禁止转载!!

01_一次Http请求都干了啥

问题引入

我们上篇博客做了一个Http请求的抓包,里面只是介绍了抓到的大概有哪些内容。
好了,先做一个回顾。

在这里插入图片描述

上次我们说道:一次http请求分为三部分:建立连接;发送请求和接受响应;断开连接。 这个呢就先记住,里面具体的呢,我们慢慢的搞起来,贪多了也搞不烂。

再看截图,这张截图是我又按照上篇的博客重新做了一次,所以里面的IP地址有所变化,但是操作是一样的,这次我们只关注截图里面的两个IP地址:

在这里插入图片描述

好了,这两个IP地址就是我们今天研究的主题, 我们先弄清楚这两个IP地址的时如何来的?

这里面涉及两方面的知识,下面我们一一来介绍:

1. 本机IP
2. 域名对应的IP

DNS解析介绍

今天我们想知道两个IP是怎么来的,这里面就涉及了一个专业术语DNS解析DNS解析就是指的域名到IP地址的变化过程。

我们先来理清一个事实:

在网络中,网络机器也就是电脑、服务器等各种网络设备,它们只认IP地址。
也就是在网络传输中,IP地址是数据发送和接受的出发点和目的点。
而我们在发送请求时用到的域名,类似于www.baidu.com这样的域名,在网络传输中会被先转化成机器认识的IP地址。

实验

这个是我们在Http请求的抓包过程中体现的两个IP地址:

在这里插入图片描述

你明显的看出,这两个IP地址一个叫Source,一个叫Destination,好了,我帮大家查过词典了,这两个英文一个是源地址,一个是目的地

源地址应该说的是我们本机的地址,那真的是这样吗?我们来验证一下,这个对应的到底是不是我们自己电脑的IP。

1. 探究自己电脑的IP地址和Source的IP到底是不是一个

这里查看自己的IP地址,会用到ipconfig命令,ipconfig命令是windows系统查看自己电脑网络IP配置的一个命令。它会把我们电脑涉及的所有的网卡信息都罗列出来,也包括虚拟网卡、
虚拟的VPN通道信息。

好了,下面开始我们的验证!!!

打开CMD窗口,输入一下命令:

ipconfig

然后你会看到:

在这里插入图片描述

此处说明:里面返回的信息包含了你电脑所有的网卡信息,如果你用的是网线,就找到以太网适配器 以太网。如果你连接的是无线,就找到无线局域网适配器 WLAN

此处你就发现,抓包工具里面对应的Source里面的IP地址其实就是我们自己的IP地址,也就是说是我们本机电脑发出去的数据包,而没有经过别人的转发啥的。

1. 本机发送出去的数据包,对应的发送端的IP地址就是我们自己机器的IP地址!

2. 探究如何获取网址对应的IP地址

好了,到这里你应该也猜的到剩下的那个220.181.38.50对应的就应该是www.baidu.com的IP地址。

OK, 那这个IP地址从哪里来的呢?存在自己电脑上的吗?要是存在自己电脑上的话,那是不是所有互联网对应的IP都得存一份?

废话不说,开始我们的实验!!!

打开CMD窗口,输入一下命令,这个命令是展示我们电脑缓存的所有的DNS信息:

ipconfig/displaydns

在这里插入图片描述

你会发现,里面有两个IP地址110.242.68.3110.242.68.4。和我们上面演示的220.181.38.50不太一样,这是怎么回事呢?

好了,这三个IP地址其实都是www.baidu.com对应的IP地址,我们通过其中的任何一个都可以访问到百度。

不信我们就试试,打开把其中的一个地址粘贴到地址框去,此处只演示一个,剩下的自己尝试下:

在这里插入图片描述

好了,细心的你一定发现了生存时间的细节,在ipconfig/displaydns的返回结果里面,有个生存时间78。这个数字代表的是在我们电脑里面这条记录保存78秒。
不信的话,你在使用ipconfig/displaydns你会发现,数字比78小,甚至里面的返回结果没有www.baidu.com对应的信息。

此处加个推测:

1. IP地址不是20.181.38.50,可能是由于到目前为止的时间,已经超过了DNS缓存的时间,也就是缓存20.181.38.50失效了。
2. 而新拿到的两个IP地址是在20.181.38.50失效之后,重新访问www.baidu.com时候,重新缓存起来的。

OK,上面只是我们的猜测,那到底是不是这样呢,我们来做个实验。用到的工具还是Wireshark,实验的思路如下:

1. 我们先清除我们本地的缓存。
2. 然后在访问百度,查看下我们的DNS信息。

为了保证我们电脑里面没有DNS缓存,我们先清除DNS缓存,执行以下命令:

ipconfig/flushdns

在这里插入图片描述

到了此时,我们的电脑上就没有www.baidu.com的DNS缓存了,我们就可以抓取DNS的获取过程了。

下面我们开始抓取DNS的获取过程!!!!!!!!

  1. 第一步打开Wireshark, 过滤框中输入dns,如下图:

在这里插入图片描述

  1. 打开CMD窗口,输入以下命令:
curl www.baidu.com

在这里插入图片描述

下图是Wireshak抓取的DNS解析的过程。

在这里插入图片描述

基于我们上面的讲解,你应该可以看的懂这张图了:

1. 我们IP为10.13.144.189.
2. 我们向IP为10.13.7.64的服务器发送了一个DNS请求。
3. 服务器给我返回了两个IP:`110.242.68.3`和`110.242.68.4`

到了此处,你应该明白了。

1. DNS在我们本地是有缓存的
2. DNS对应的IP是可以从DNS服务器获取的

然后我们在看下我们本地的DNS缓存,你会发现他们和抓包返回的结果一致:

在这里插入图片描述

那我们本地的缓存信息和远程的DNS服务器的信息是如何一致的呢?这个呢,其实很简单。

1. 我们知道本地的DNS缓存是有时间限制的。
2. 在我们本地存在DNS缓存时,不会请求远程的服务器。
3. 只有本地DNS缓存超出了时间限制,也就是本地没有了DNS缓存,才会去远程拉取,同时保存到本地缓存一份。

整合我们上篇博客的内容,整个curl www.baidu.com的流程如下图:

在这里插入图片描述

知识点整合:

1. 我们在发送Http请求的时候,如果本地没有对应域名的缓存DNS信息,就会去请求DNS服务器,拿到域名对应的IP.
2. 如果本地有了缓存,就直接用本地的DNS信息。
3. 拿到域名对应的IP后,与IP对应的服务器建立连接。
4. 发送和接受请求。
5. 断开连接。

总结

  1. 本篇博客告诉你,如何获取自己的IP地址。
  2. 域名是如何变成IP的。
  3. 本地电脑是缓存DNS信息的,但是它们有时间限制。
  4. 如何查看DNS缓存和如何清除DNS缓存。

拓展

  1. 既然我们知道了如何获取DNS信息,那DNS具体的查找过程你知道吗?DNS返回信息里面对应的www.a.shifen.com是怎么回事呢?
  2. DNS服务器到底是谁在维护?在哪里?
  3. 一个域名为啥对应了那么多的IP地址,这个是如何做到的呢?
  4. 我们在请求DNS信息的时候,DNS服务器的信息那里获取呢?
好了,本节博客就结束了,你学废了吗,我们会持续更新网络中的各种概念和各种实验,欢迎大家关注!!!下期更精彩!!!

http://chatgpt.dhexx.cn/article/0Au7RFi7.shtml

相关文章

企微配置可信域名

1、企微配置可信域名 2、企微获取成员userID 3、企微获取用户敏感数据 4、企微配置回调服务 文章目录 一、简介1、官方文档介绍2、可信域名入口3、企微校验原理 二、前端校验三、后端服务校验1、原理2、获取校验文件内容。3、编写后端接口4、部署到服务器5、配置域名解析到服务…

注册域名时如何填写域名信息

目前国内域名注册规则越来越详细,要求也越来越严格,所以说大家在国内注册域名时一定要如实填写,这样才能正常使用。下面总结一些域名注册的要求和经验,帮助大家正确注册域名。 一、注册域名时乱写信息可以吗? 注册域…

微信的服务器域名地址,微信服务器域名设置

senparclsx 15 个回复 • 查看 447 次 • 53天前 sy87468118 14 个回复 • 查看 354 次 • 100天前 magiboy 13 个回复 • 查看 711 次 • 111天前 yintingji 12 个回复 • 查看 664 次 • 121天前 LXL.WxDeveloper 11 个回复 • 查看 329 次 • 73天前 zxz524 9 个回复 • 查看…

什么是论坛域名?论坛域名适用在哪些地方?

论坛域名是什么样的?论坛域名好不好?论坛域名适用在哪些地方?大家都知道论坛是发帖回帖讨论的平台,是Internet上的一种电子信息服务系统。每个用户都可以在上面书写,可发布信息或提出看法。下面我们就来看看论坛域名的介绍吧! 1、什么是论坛域名? …

碳中和城市建筑能源系统(3):负荷篇(龙惟定)2022

碳中和城市建筑能源系统(3):负荷篇 摘要 本文是碳中和城市建筑能源系统系列文章的第三篇。碳中和城市能源系统要实现“两个替代”,即能源生产的可再生能源替代和能源消费的电力替代。因此有2个关键点对负荷分析提出了要求:一是建筑电气化&a…

阿里毕玄:智能时代,运维工程师在谈什么?

导读:智能化运维的终极目标,就是将运维人员从繁琐的工作中解放出来,提高整体运维效率,降低运维成本,实现业务系统的高可用性。 目前业界真正的智能化运维的落地实践其实并不多,大多还是停留在自动化甚至人工…

智能时代,运维工程师该谈什么?

智能时代,运维工程师该谈什么? 原创 2017-10-31 毕玄 高效开发运维 作者|毕玄 编辑|谢然 每家公司对于所谓运维团队到底应该做些什么,都有各自的看法。本文首先由阿里巴巴的运维团队在整个阿里巴巴的业务里承担的责任为…

阿里巴巴毕玄解密AIOps:一文读懂阿里巴巴运维体系的前世今生

【编者按】林昊(毕玄),阿里巴巴研发效能事业部负责人。2007年加入阿里,10年间打造了阿里目前使用最为广泛的核心中间件之一的服务框架;建设了阿里的HBase团队,发展到今天HBase已经是阿里最重要的NoSQL产品;打造阿里基于…

区块链成熟度评测报告(3)——可靠性、易用性、可扩展性对比

可靠性对比 区块链的可靠性主要考察区块链网络、共享帐本、账户体系三个方面。 (一)区块链网络:商业区块链A、商业区块链B、Fabric均网络可靠 区块链网络主要测试三个指标:记账节点高可用、服务节点之间高可用、区块链网络的网络抖动是否影响系统服务等级。第一、二个指…

关于前后端接口的可扩展性思考

在写iOS和Android客户端程序,尤其是涉及到和后端对接口的时候,大家通常会针对下面三个问题引发一些争论: 不能写死容错能力过度设计 之所以会争论,是因为这三点很多时候是对的,但是如果不分情况和场合的应用就会出现一…

区块链的可扩展性问题及解决方案对比

区块链的性能问题 VISA是目前世界上广泛使用的信用卡品牌,区块链要达到实用水平,性能上至少需要能跟VISA之类的支付系统作比较。根据VISA在2015年的记录,全年共产生92,064百万笔支付交易,平均2920tps,按平均每笔交易5…

#私藏项目实操分享# 提高区块链的可扩展性并不需要牺牲安全和去中心化

可扩展性难题?区块链不可能三角?这篇论文可能有解决之道 背景 “The block chain scalability trilemma”(可扩展性难题)-是由以太坊创始人Vitalik Buterin创造的词语,国内亦被翻译为“区块链不可能三角”问题、“三元悖论”,是指…

【软件质量】软件可扩展性

文章目录 软件可扩展性纵向扩展横向扩展软件可演化性软件可扩展性 可扩展性是当系统的应用领域和设计的特征在操作范围内发生变化时,系统将质量目标满足其利益相关者可接受的水平的能力。在考虑计算机系统的可扩展性时,不仅要考虑软件,还要考虑它在上运行的基础设施(硬件)。…

面试问题:如何实现软件可扩展性

网站的可扩展性架构设计,能够在对现有系统影响最小的情况下,系统功能可以可持续扩展及提升的能力。 在此,对容易混为一谈的 “扩展性” 和 “伸缩性” 的概念进行详细说明: 扩展性 表现为:基础设施不需要经常变更&a…

聊聊分布式的可扩展性

前言 樱花灿烂的季节,满地的绿叶攀上指尖。 春天,总是容易萌生懵懂的心理。。。这就是一堆人辞职的理由??? 团队,总会有人离开,总会有人加入。。。总会有一个leader,当服务器的数量增…

可维护性、可复用性和可扩展性的区别

三者是不同的软件质量属性。 可维护性、可复用性又被认为是两个最重要的用于衡量软件质量的属性。 在《Java设计模式》一书中对可维护性的定义为:指软件能够被理解、改正、适应及扩展的难易程度。 对可复用性的定义为:指软件能够被重复使用的难易程度。 …

八、系统架构 - 可扩展性架构设计

目录 可扩展性 可扩展性的定义 可扩展架构的核心思想 可扩展性架构的主要手段 利用分布式消息队列降低系统耦合性 事件驱动架构(Event Driven Architecture) 消息队列的优势 分布式消息队列 利用分布式服务打造可复用的业务平台 巨无霸系统及其…

后台系统可扩展性学习笔记(一)概要

文章目录 系统大致架构可扩展性负载均衡器与会话保持引入冗余增强系统可用性缓存减轻数据库压力异步处理参考 系统大致架构 当一个用户请求从客户端出发,经过网络传输,达到 Web 服务层,接着进入应用层,最后抵达数据层&#xff0c…

1.3 可扩展性

即使一个系统现在可以可靠地工作,但并不意味着未来它也一定会可靠地工作。造成退化的一个常见的原因就是日益增加的负载:系统的并发用户可能从10000增加到了100000,或者从1000000增加到10000000。可能它处理的数据量比之前大得多。可扩展性是…

七种方法增强代码可扩展性(多图详解)

1 六大原则 在设计模式中有六大设计原则: 单一职责原则:一个类只做一件事 里式替换原则:子类可以扩展父类 依赖倒置原则:面向接口编程 接口隔离原则:高内聚低耦合 迪米特法则:最少知道原则 开闭原则&#…