DNS协议分析实验:通过一次下载任务抓包分析

DNS协议分析

一、实验简介

本实验主要讲解DNS协议的应用,通过一次ping任务,抓取DNS协议数据报文,对DNS解析的请求和相应报文进行详细的分析。

二、实验目标

1.了解运输层DNS协议基本概念、报文结构;
2.分析DNS报文头部;
3.分析DNS请求和相应过程;
4.掌握使用wireshark进行DNS协议分析技术。

三、实验环境

实验主机:centos7和本地Windows
实验工具:Wireshark

四、实验步骤
  1. 在本地Windows上打开Wireshark,选择要抓取的网卡,我们虚拟机使用的是VMnet8,所以这里选择这个网卡。

  1. 打开centos7虚拟机,确保虚拟机可以上网。

  1. 虚拟机ping百度域名。

  1. 通过Wireshark抓取ping百度域名的数据包。

  1. 把DNS解析数据包过滤出来,右键点击页面,找到对话过滤器,选择UDP,因为DNS协议是使用UDP协议传输的,这样过滤比较快。


过滤之后的数据包,只有两条数据,分别是请求数据会响应数据

  1. 接下来我们对DNS的请求报文进行分析,这里我们可以看到DNS请求数据是由UDP协议发送的,端口号是53。


这是DNS报文的基础结构部分,每个字段含义如下:
事务ID(TransactionID):DNS报文的ID标识。对于请求报文和其对应的应答报文,该字段的值是相同的。通过它可以区分DNS应答报文是对哪个请求进行响应的。
标志(Flags):DNS报文中的标志字段。
问题计数(Questions):DNS查询请求的数目。
回答资源记录数(AnswersRRs):DNS响应的数目。
权威名称服务器计数(AuthorityRRs):权威名称服务器的数目。
附加资源记录数(AdditionalRRs):额外的记录数目(权威名称服务器对应IP地址的数目)。

  1. 下图所示是DNS报文中的标志字段


其中Flags字段中每个字段的含义如下:
QR(Response):查询请求/响应的标志信息。查询请求时,值为0;响应时,值为1。
Opcode:操作码。其中,0表示标准查询;1表示反向查询;2表示服务器状态请求。
AA(Authoritative):授权应答,该字段在响应报文中有效。值为1时,表示名称服务器是权威服务器;值为0时,表示不是权威服务器。
TC(Truncated):表示是否被截断。值为1时,表示响应已超过512字节并已被截断,只返回前512个字节。
RD(RecursionDesired):期望递归。该字段能在一个查询中设置,并在响应中返回。该标志告诉名称服务器必须处理这个查询,这种方式被称为一个递归查询。如果该位为0,且被请求的名称服务器没有一个授权回答,它将返回一个能解答该查询的其他名称服务器列表。这种方式被称为迭代查询。
RA(RecursionAvailable):可用递归。该字段只出现在响应报文中。当值为1时,表示服务器支持递归查询。
Z:保留字段,在所有的请求和应答报文中,它的值必须为0。
rcode(Replycode):返回码字段,表示响应的差错状态。
当值为0时,表示没有错误;
当值为1时,表示报文格式错误(Formaterror),服务器不能理解请求的报文;
当值为2时,表示域名服务器失败(Serverfailure),因为服务器的原因导致没办法处理这个请求;
当值为3时,表示名字错误(NameError),只有对授权域名解析服务器有意义,指出解析的域名不存在;
当值为4时,表示查询类型不支持(NotImplemented),即域名服务器不支持查询类型;
当值为5时,表示拒绝(Refused),一般是服务器由于设置的策略拒绝给出应答,如服务器不希望对某些请求者给出应答,,或者服务器不希望进行某些操作(比如区域传送zonetransfer);
6-15保留值,暂时未使用。

  1. 下面是DNS报文的问题查询部分,每个字段含义如下:


其中Queries字段中每个字段的含义如下:
查询名(Name):一般为要查询的域名,有时也会是IP地址,用于反向查询。
查询类型(Type):DNS查询请求的资源类型。通常查询类型为A类型,表示由域名获取对应的IP4地址。(更多类型如AAAA,CANME,SOA,PTR,NS等)
查询类(Class):地址类型,通常为互联网地址,值为1。
那么,对于上面报文内容,翻译过后的意思就是,“该报文为标准查询(Opcode=0)请求(QR=1)报文,向本地域名服务器(IP报文中目的地址为本地域名服务器地址,在上面准备工作中已经知道了)请求查询,发起请求内容为‘获取www.baidu.com(Name=www.baidu.com)所对应的IP4地址(Type=A)’,期待本地域名服务器递归查询(RD=1)请求”

  1. 下面是DNS响应数据包基础结构部分,报文中的标志字段,表示一次标准的查询响应,没有错误。

  1. 下图是DNS响应数据包回答资源记录


每个字段含义如下:
Questions:1#问题计数
AnswerRRs:3#回答计数
AuthorityRRs:0#域名服务器计数
AdditionalRRs:0#额外记录计数

  1. 响应报文中,Queries字段完全和请求报文相同


每个字段含义如下:
Name:DNS请求的域名。
Type:资源记录的类型,与问题部分中的查询类型值是一样的。
Class:地址类型,与问题部分中的查询类值是一样的。

  1. 最后我们来看看Answer字段,一共三个回答。


回答一:类型为CNAME,代表别名,其别名为www.a.shifen.com
回答二:类型为主机地址,其IP地址为120.232.145.144
回答三:类型为主机地址,其IP地址为120.232.145.185
本次解析没有Authoritativenameservers(权威名称服务器)和Additionalrecords(附加记录),这里就不做详细解释了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/702998.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 算法: 旋转图像c++

原题链接🔗: 旋转图像 难度:中等⭐️⭐️ 题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图…

全球首创4090推理!昆仑万维开源Skywork-MoE模型

昆仑万维近期宣布开源了其2千亿参数规模的稀疏大模型Skywork-MoE。这个模型是基于他们之前开源的Skywork-13B模型中间checkpoint扩展而来的,并且宣称是首个完整应用MoE Upcycling技术的开源千亿MoE大模型。此外,它也是首个支持使用单台RTX 4090服务器&am…

Spring框架是如何查找方法上的异步任务注解@Async

结论先行 Spring框架层面,查找方法上的注解的原理与机制是一样的。 在方法层面,Spring框架已经找到子类的Async注解,原因是查找注解会搜索整棵类型继承树,包括超类和实现的接口。 异步任务代码示例 Async注解,在父类…

苹果WWDC重磅发布的IOS 18、Apple Intelligence背后的技术分析!

2024年6月10日,在2024年WWDC全球开发者大会上,苹果推出了Apple Intelligence,这是深度集成到iOS 18、iPadOS 18和macOS Sequoia中的个人智能系统。 为了让大模型能在 iPhone 端侧跑,苹果还是做了很多事情的。接下来就跟大家介绍一…

艾宾浩斯winform单词系统+mysql

为用户提供集词典、题库、记忆单词功能于一体的应用,为用户提供目的性强、科学高效、多样化的记忆单词方法,使用户学习英语和记忆单词的效率得到提高 单词记忆模块 管理模块 查询单词 阅读英文 查看词汇 记忆单词 收藏单词 字段管理设置 统计 艾宾浩斯wi…

【Python数据魔术】:揭秘类型奥秘,赋能代码创造

文章目录 🚀一.运算符🌈1. 算术运算符🌈2. 身份运算符🌈3. 成员运算符⭐4. 增量运算符⭐5. 比较运算符⭐6. 逻辑运算符 🚀二.可变与不可变🚀三.字符串转义🚀四.编码与解码💥1. 基础使…

第十五届蓝桥杯大赛 国赛 pb组F题【括号与字母】(15分) 栈的应用

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 试题F:括号与字母 【问题描述】 给定一个仅包含小写字母和括号的字符串 S …

Web前端大作业:基于html+css+js的仿酷狗音乐项目(内附源码)

文章目录 一、项目介绍二、项目展示三、源码展示四、获取源码 一、项目介绍 课设是要仿照酷狗音乐的首页进行设计。酷狗音乐是国内知名的音乐应用程序,凭借其优秀的音乐库和智能推荐功能吸引了大量用户群体。模仿酷狗音乐的首页设计,可以让课设展现出专业水准,体现出对优秀产品…

数据结构 —— 堆

1.堆的概念及结构 堆是一种特殊的树形数据结构,称为“二叉堆”(binary heap) 看它的名字也可以看出堆与二叉树有关系:其实堆就是一种特殊的二叉树 堆的性质: 堆中某个结点的值总是不大于或不小于其父结点的值&…

使用 Vue 官方脚手架初始化 Vue3 项目

Vite 官网:https://cn.vitejs.dev/ Vue 官网:https://vuejs.org/ Vue 官方文档:https://cn.vuejs.org/guide/introduction.html Element Plus 官网:https://element-plus.org/ Tailwind CSS 官网:https://tailwindcss.…

0605 实际集成运算放大器的主要参数和对应用电路的影响

6.5.1 实际集成运放的主要参数 6.5.2 集成运放应用中的实际问题 6.5.2 集成运放应用中的实际问题

基于51单片机的简易温控水杯恒温杯仿真设计( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的简易温控水杯恒温杯仿真设计( proteus仿真程序设计报告讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0099 1. 主要功能: 基于51单片机的简易温控水杯恒温…

RV32A\CSR\Counters 指令集

RV32A\CSR\Counters指令集 一、RV32A指令集1、Load-Reserved/Store-Conditional InstructionsLR.WSC.W2、Atomic Memory OperationsAMOSWAP.WAMOADD.WAMOAND.WAMOXOR.WAMOOR.W二、CSR(Control and Status Register) 指令集CSRRWCSRRSCSRRCCSRRWICSRRSICSRRCI三、"Zicntr…

深圳建网站

深圳是中国最具活力和创新力的城市之一,也是全球网站建设行业蓬勃发展的重要市场之一。随着信息科技的不断发展和互联网的普及,越来越多的企业和个人意识到了建立网站的重要性,通过网站可以为企业带来更多的业务机会和营销渠道。 建立一个优质…

【OpenGL学习】OpenGL不同版本渲染管线汇总

文章目录 一、《OpenGL编程指南》第6版/第7版的渲染管线二、《OpenGL编程指南》第8版/第9版的渲染管线 一、《OpenGL编程指南》第6版/第7版的渲染管线 图1. OpenGL 2.1、OpenGL 3.0、OpenGL 3.1 等支持的渲染管线 二、《OpenGL编程指南》第8版/第9版的渲染管线 图2. OpenGL …

上新即爆品?2024小红书爆款黄金公式

5月,小红书正式上线了平台级新品营销IP——“宝藏新品”,旨在消费愈发审慎的当下,帮助品牌破除不确定性,达成新品的高质量生长。 本期千瓜将进一步解读「宝藏新品」策略,帮助品牌推新呈现更多样化的成长可能。 强种草…

单张图像扩散模型(Single Image DIffusion Model)

论文:SinDDM: A Single Image Denoising Diffusion Model, ICML 2023 去噪扩散模型(DDM)在图像生成、编辑和恢复方面带来了惊人的性能飞跃。然而,现有DDM使用非常大的数据集进行训练。在这里,介绍一个用于…

Qwen2 阿里最强开源大模型(Qwen2-7B)本地部署、API调用和WebUI对话机器人

阿里巴巴通义千问团队发布了Qwen2系列开源模型,该系列模型包括5个尺寸的预训练和指令微调模型:Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B以及Qwen2-72B。对比当前最优的开源模型,Qwen2-72B在包括自然语言理解、知识、代码、数学及多…

每日一练——有效的括号

20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 错误记录 #include<stddef.h> #include<stdlib.h> #include<assert.h> #include<stdbool.h>typedef char STDataType;typedef struct Stack {STDataType* a;int capacity;int top; } Stack;vo…

【网络安全的神秘世界】磁盘空间告急?如何解决“no space left on device”的困扰

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 磁盘空间告急&#xff1f;如何解决“no space left on device”的困扰 &#x1f64b;‍♂️问题描述 错误信息 "write /var/lib/docker/tmp/GetIma…