Wireshark笔记-DNS流程与数据包解析

知识点

DNS(域名系统)是互联网的域名→IP 翻译器:它将人类易记的域名(如 www.qq.com)映射为机器识别的 IP 地址,让设备找到目标服务器。通过根、顶级、权威服务器组成的层级架构,以递归 / 迭代查询完成解析,是浏览器访问网站、App 连接服务的核心基石,让用户无需记忆复杂 IP,只需输入域名即可联网。

DNS 交互流程:客户端向本地 DNS 发域名查询,本地 DNS 先查缓存(命中则直接返 IP);未命中时,递归模式下委托上游服务器代查(根→顶级→权威服务器逐层解析),迭代模式下自身依次查询。权威服务器返回 IP 后,本地 DNS 缓存并转发给客户端,完成域名→IP 映射。

分析过程

打开Wirshark抓包后。使用cmd程序ping下www.qq.com,如下图所示。

可见Wirshark抓到4个包,现在来逐个分析下。

在上图为第一个dns包,Wirshark已经做了很详细的解读了,从中可以得到的信息。

① 访问DNS的服务器为8.8.8.8,端口为53(DNS的默认端口在标准场景下是53)

② DNS是基于UDP(User Datagram Protocol)的。

③ DNS(Domain Name System)查询相关的报文信息:

A. 事务 ID:0x1287(唯一标识,用于匹配响应)。

B. 标志位:QR=0(查询)、RD=1(请求递归解析,依赖服务器递归查)、OPCODE=0(标准查询)。

C. 问题数:1(仅 1 个查询问题),资源记录数:0(无响应数据)。

D. 问题段(Question):域名:www.qq.com(查询的目标域名)。

E. 问题段(Question):类型:A(请求 IPv4 地址),类:IN(互联网,默认)。

与包8对应的是包9,先来看看包9。

从中可以得到的信息:

① 事务 ID:0x1287(与包 7 的 ID 一致,关联请求)。

② 标志位:QR=1(响应)、AA=1(权威应答,服务器是域名的权威源)、RCODE=0(解析成功)。

③ 问题数:1(与请求一致),回答数:3(含 1 条 CNAME + 2 条 A 记录,与后面的3条能对应起来)。

④ 回答段(Answer):第一条(CNAME 记录):

⑤ 回答段(Answer):域名:www.qq.com

⑥ 回答段(Answer):类型:CNAME(别名类型,指向 ins-r23tsuuf.ias.tencent-cloud.net

⑦ 回答段(Answer):TTL:缓存时间

⑧ 后两条(A 记录):域名:ins-r23tsuuf.ias.tencent-cloud.net(CNAME 指向的真实域名)

⑨ 后两条(A 记录):类型:A,IP:116.128.170.212、58.246.163.58(最终 IPv4 地址)

第9个知识点比较重要,因为DNS劫持,DNS负载均衡等,这个安全问题和负载问题就是修改了这个地方,后期将会有文章分别说明这两块内容。

包8和包10是IPV6的版本,原理方面和包7、包9是差不多一致的,在此不在详细说明,给出对应的截图。

客户端发送查询请求(包8)

DNS回响应(包10)

相关推荐
闪闪发亮的小星星3 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq3 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波3 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.3 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
程序员小远3 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
.千余3 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.3 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
我是一颗柠檬3 天前
【计算机网络全面教学】网络设备与故障排查,从集线器到Wireshark抓包实战Day7(2026年)
网络·计算机网络·wireshark
秋波。未央3 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
中屹指纹浏览器3 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记