wireshark学习-DNS
2026/4/29 15:45:44 网站建设 项目流程

首先打开wireshark开始抓包;

在浏览器的网址栏里,直接输入www点baidu点com,回车

然后就可以暂停抓包了

这里用过滤表达式dns contains "baidu"【匹配 DNS 报文中任意字段包含 "baidu"的报文】

可以看到密密麻麻出来一大堆DNS

不急,咱们挨个看看,首先来看这个通信的两端,一个是192.168.223.185,一个是192.168.223.81

快捷键win+R,输入cmd,输入ipconfig

说明我的电脑是185,我给电脑开热点的手机是81。有啥玩意电脑都直接丢给网关了。

然后开始看第一个包

transaction id是用来标识dns请求的,这个值是随机生成的,发起和回复的id必须相同,这样电脑就能知道,哦,原来这俩是一对。否则电脑(DNS客户端)就无法区分哪个响应给哪个请求了

flags:standard query,表示标准查询

重点是下面的queries(查询)

第一个字段name表示要查询的域名

type是A,表示我需要的是ipv4地址

class:in表示互联网类(Internet),没啥用,后面就不看这个了

所以总结一下就是:我想知道www点baidu点com这个域名所对应的ipv4地址是什么

---------------手动分割线------------------

再往下看第二个包,这个包是针对上一个包的回复,我怎么知道的呢?

因为首先transaction id和上一个包一样,都是0608,这也就意味着他们俩是一对。

而下面的flags又有一个query response(查询回复),因此这个包是对第一个包的响应

再往下看,queries(查询),是和请求包一样的

但是多了一个answers(回答),这就是响应的内容,也就是说,针对你给我的“上面这个问题”,我的答案是:xxx

接下来具体看回复内容:

先来看第一条:

name表示针对这个域名

type:cname表示这是个别名记录,反应了域名与别名的映射关系【记录约等于报文类型】

time to live是存活期

address是ip地址

人话:针对你请求的这个域名,它其实有个别名,叫做www点a点shifen点com,这个所谓的别名,它的ipv4地址是39点156........

那请问为什么这个响应不直接告诉我baidu的地址,非要告诉我个别名的地址呢,这个shifen,实际上叫做中间域名,因为后面服务器的ip地址可能会因为各种原因发生改变,比如更换机房或者有其他业务需求,如果有个中间域名,那改地址的时候就直接改中间域名的A记录就可以了,省事。

那A记录是个什么东西呢?

其实就是真正用来记录域名与ipv4地址的映射关系的东西

这两条都是A记录,记录了什么?

记录了刚才告诉你的,那个别名,的IP地址,有俩,一个70.239,一个70.46,这是为了保险,浏览器会先访问239,如果不行,再直接访问46。

后面紧接着就是发送http来请求内容了,和dns无关

---------------手动分割线------------------

到这就完了吗,这不是才看了两个包

可是咱抓了这么多包啊

仔细看看就会发现,后续的这些DNS好像和一开始的www点baidu点com都不一样啊,这家伙在干什么呢?

这就涉及到网页的底层了,比如我们刚才打开的那个百度网页再瞅瞅

你会发现这个页面并不是简简单单的静态页面,我用红色框起来的这些地方都是可以点击的超链接,点击之后就会跳转到其他页面。

一开始你输入了百度的网址,浏览器就向电脑发送请求,用网卡来发送/接收dns包,得到了那个shifen的ip地址之后,给shifen发送http请求包,去拿构建网页所需的资源(图片、css样式等等),然后浏览器解析页面的过程中发现,这个页面里还有一堆超链接,为了提高速度,浏览器会直接自动帮你查询这些超链接的域名ip地址,这样你点击的时候就不用现场解析了,直接发http去请求内容就可以。

所以咱们才会看到这么多dns包。

等等,所以还没解释最后一件事情,为什么要把网页资源放在shifen这个域名那边的服务器里呢?

直接放在baidu这个域名底下的服务器里不行吗?

首先,浏览器的同域名并发连接数有限制(HTTP/1.1 时通常是 6~8 个)。如果把所有资源(主页面 + 图片 + CSS + JS)都放在baidu下,浏览器对这个域名最多只能同时开几个 TCP 连接,剩下的资源必须排队等待,页面加载就会变慢。
使用多个不同域名(dss1dss0sp1sp2……),浏览器就可以同时与多个域名建立连接,并发下载更多资源,就像开了多条车道来运输货物。

其次就是存放这些资源的服务器如果坏了,那你访问baidu最多就是页面变得奇丑无比,排版很奇怪,但主站baidu还是能返回基础的 HTML 文字和登录功能。这样部分降级比全局完蛋要好。

就像这样,网络不好的时候有时能看到这种情况,但是其实也能用

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询