网络协议与攻击模拟_13缓存DNS与DNS报文

一、缓存DNS服务器 

1、引入缓存DNS

工作可能会遇到这样的场景,内网部署有一台缓存DNS服务器,这台服务器是由我们自己搭建的。为什么放在内网呢?因为我内网中的机器请求内网返回会比较快。第一次会慢点,因为有一个转发的过程,后续就比较快。DNS缓存的作用是为了快速使得内网的主机得到DNS缓存的消息。

缓存域名服务器需要与外网连接

一台windows作为Client 一台Windows server作为缓存DNS 桥接网络  DHCP自动获取IP地址

Client 192.168.183.133     

Windows server 192.168.183.138

ipconfig /all查看下Client的DNS,设置让Client的DNS指向这台windows server

只改DNS

意思就是现在我们内网有一台服务器我们要把它当做缓存DNS服务器。

我把win10的DNS改了,它就上不了网了,ping不通百度了,因为它指向的DNS服务器无法解析。

这个时候有两种办法

方法一:

一是 直接把它装成主要名称服务器,然后直接去创建对应的区域文件。但是百度它是外网的域名,外网的域名,内网里面就算你找到了百度的IP然后添加一个记录其实没有记录,外网这么多IP根本加不过来。

方法二:

所以我们直接把这样一台做成缓存域名服务器。

先在WIndows server上面装DNS服务器

开始->windows管理工具->DNS

不需要新建区域文件,直接配置它转发器

2、配置DNS转发器

转发器:如果它收到了来自客户机的DNS请求,那么它就直接转发到外部的DNS去

物理机nslookup找一下外部的DNS

然后回到Windows server虚拟机把找到的DNS服务器IP填进去

单击确定,这里找到了服务器的域名,直接点应用,确认

nslookup看到它的DNS服务器是192.168.188.138

然后去解析下www.baidu.com是可以正常解析的。

3、DNS转发过程分析

dns    查找域名 www.baidu.com

首先是Client请求了缓存DNS,然后缓存DNS请求了外部的DNS服务器,然后外部的DNS响应了缓存DNS,缓存DNS响应了Client。

二、DNS报文字段

DNS报文有请求报文和响应报文,二者最大的区别点是响应报文有响应的Response

  • Transaction ID:ID字段
  • Flags
    • 第1位:标识消息类型,为0表示请求,为1表示响应
    • 第2-5位:Opcode查询总类,0000是Standard query
    • 第6位:响应报文标识是否为权威应答(请求是没有第六位是空的)
    • 第7位:一个UDP报文为512字节,指示是否截断超过部分
    • 第8位:是否请求递归
    • 第9位:允许递归的标识
    • 第10-12位:保留位
    • 第13-16位:应答码(响应报文的应答码,请求报文是没有13到16位的)0标识没有错误,1格式错误、2服务器错误、3名字错误、4服务器不支持 5拒绝 6-15是保留的
  • Question:请求段中问题的记录数
  • Answer PRS:响应回答段中的记录数(请求报文没有)
  • Authority PRS:授权段中的记录数
  • Addnitional PRS:附加段中的记录数
  • Queries:查询请求的内容,响应中的内容和查询中的是一样的
    • Name:查询的域名
    • Name Length:标识查询域名的长度
    • Label Count:3
    • Type :AAAA代表是IPV6
    • Class:协议组IN

      一般写域名会这样写,再Windows服务器上看不出来,在Linux服务器上就能看出来www.baidu.com      IN   192.168.1.1


  • Answer响应的内容
    • Name:域名
    • Type:CNAME别名
    • Class:IN
    • Time to live:TTL值
    • Date length:域名长度
    • CNAME:真实名称

Queries和Answers字段是与Questions和Answer PRs对应的,因为前面的Questions进而Answer PRs的字段为1,所以下面有Queries和Answers字段。

例如:这个报文中Questions和Authority RPs字段为1,所以下面有Queries和Authoritative names servers部分 

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

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

相关文章

arcgis javascript api4.x加载非公开或者私有的arcgis地图服务

需求: 加载arcgis没有公开或者私有的地图服务,同时还想实现加载时不弹出登录窗口 提示:​ 下述是针对独立的arcgis server,没有portal的应用场景; 如果有portal可以参考链接:https://mp.weixin.qq.com/s/W…

供应商规模成倍增长,医疗器械制造商如何让采购效率更进一步|创新场景50...

ITValue 随着企业的快速发展,采购供应链网络日益庞大,企业在供应商管理上面临着管理体系分散、风险难以管控,采购过程环节多等问题,供应商内外协同亟待解决。 作者|秦聪慧 专题|创新场景50 ITValue 制造企业…

SpringMVC处理ajax请求之@ResponseBody注解,将后端数据响应到浏览器

上一篇文章讲到SpringMVC处理ajax请求用到的RequestBody注解SpringMVC处理ajax请求(RequestBody注解),ajax向后端传递的数据格式详解-CSDN博客,这个注解帮我们解决了如何将客户端的数据通过json数据传递到服务器,简单说…

SpringCloud-搭建Eureka服务模块

在构建分布式微服务体系中,搭建Eureka服务模块是实现服务注册与发现的关键一步。Spring Cloud作为领先的微服务框架,通过Eureka为我们提供了高效的服务治理能力。本文将深入探讨如何使用Spring Cloud,逐步引导读者完成Eureka服务模块的搭建。…

docker手动迁移镜像

1&#xff0c;将镜像保存在本地 docker save 镜像名称:版本号 > 镜像名称.tar 2&#xff0c;下载镜像 通过 ftp 工具或者命令&#xff0c;下载到本地 3&#xff0c;上传镜像到目标 docker 所在服务器 4&#xff0c;导入镜像 docker load < 镜像名称.tar

SpringCloud微服务入门

文章目录 SpringCloud组件有哪些SpringCloud中服务注册和发现是什么意思&#xff1f;如何实现nacos和eureka的区别 负载均衡是如何实现的Ribbon的负载均衡策略有哪些如何自定义负载均衡策略 什么是服务雪崩&#xff0c;怎么解决这个问题微服务是如何监控的项目中有没有做限流&a…

2024美赛 MCM Problem C: Momentum in Tennis 网球中的动力 完整思路以及源代码分享

在2023年温布尔登绅士队的决赛中&#xff0c;20岁的西班牙新星卡洛斯阿尔卡拉兹击败了36 岁的诺瓦克德约科维奇。这是德约科维奇自2013年以来首次在温布尔登公开赛失利 &#xff0c;并结束了他在大满贯赛事中历史上最伟大的球员之一的非凡表现。 这场比赛本身就是一场非凡的战…

Unity SRP 管线【第七讲:URP LOD实现以及Reflections反射探针】

目录 一、URP LOD 组件1、LOD Group的使用2、LOD切换原理Cross Fade(淡入淡出)模式Animated Cross-Fading如果未设置Clip&#xff0c;并且Fade Transition Width不为0LOD物体烘培 SpeedTree 模式 二、反射探针1. 获取反射探针数据2. 环境光照明 IBL3. 反射探针&#xff08;Refl…

浅谈信号完整性分析

什么是信号完整性?在过去的低速时代,电平跳变时信号上升时间较长,通常几个 ns。器件间的互连线不至于影响电路的功能,没必要关心信号完整性问题。但在今天的高速时代,随着 IC输出开关速度的提高,很多都在皮秒级,不管信号周期如何,几乎所有设计都遇到了信号完整性问题。…

Python近似最近邻搜索库之annoy使用详解

概要 在大数据时代,处理高维数据集的需求越来越迫切,尤其是在机器学习、推荐系统和自然语言处理等领域。高维数据集中的一个常见问题是最近邻搜索,即找到与给定数据点最接近的数据点。Python Annoy库就是专为解决这类问题而设计的,它提供了高效的近似最近邻搜索算法,本文…

微服务—RabbitMQ

目录 初识MQ 同步和异步通讯 同步通讯的优缺点 异步调用方案 异步通信优缺点 常见MQ技术对比 RabbitMQ快速入门 安装RabbitMQ RabbitMQ整体架构与相关概念 常见消息模型​编辑 入门案例 SpringAMQP 基本介绍 SpringAMQP案例——模拟HelloWorld消息模型 Sprin…

vscode 如何修改c/c++格式化风格,大括号不换行

在Visual Studio Code&#xff08;VSCode&#xff09;中&#xff0c;若要修改C代码格式化的风格以实现大括号不换行&#xff0c;通常会借助于插件C/C扩展中的ClangFormat配置。以下是具体的步骤&#xff1a; 确保已安装了C/C扩展&#xff1a; 打开VSCode的扩展市场&#xff08;…

力扣热门100题刷题笔记 - 1.两数之和

力扣热门100题 - 1.两数之和 题目链接&#xff1a;1.两数之和 题目描述&#xff1a; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。你可以假设每种输入只会对应一个答…

༺༽༾ཊ—Unity之-04-原型模式—ཏ༿༼༻

首先创建一个项目&#xff0c; 在这个初始界面我们需要做一些准备工作&#xff0c; 建基础通用文件夹&#xff0c; 创建一个Plane 重置后 缩放100倍 加一个颜色&#xff0c; 任务1&#xff1a;使用 建造者模式 创建三种 金刚猿猴 零部件 拼接组合 首先资源商店下载 金刚猿猴 模…

上位机图像处理和嵌入式模块部署(二进制图像的读写)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 之前我们说过&#xff0c;对于图像处理而言&#xff0c;势必会涉及到文件的读写。但是不同格式文件的读写&#xff0c;这本身又是体力活&#xff0…

vue yarn certificate has expired

背景&#xff1a;我在用ant design pro框架进行初始化时&#xff0c;安装脚手架时&#xff0c;安装yarn时显示报错 原因分析&#xff1a;查了很久的资料&#xff0c;这种情况应该是开了服务器代理访问导致ssl安全证书失效了 解决办法&#xff1a; 在终端输入&#xff1a;yarn…

【2024.2.1练习】01迷宫

题目描述 题目思路 一开始想用动态规划&#xff0c;但是这道题没有明显的顺序性和递推关系可以找&#xff0c;起点也是自定义的&#xff0c;鉴于迷宫尺寸不大&#xff0c;考虑使用DFS或BFS。 在自己推算几遍后发现&#xff0c;假设可以在地图上畅通无阻&#xff0c;那么格子只…

书签管理和稍后阅读工具Readeck

什么是 Readeck ? Readeck 是一个简单的 Web 应用程序&#xff0c;可让您保存您喜欢并希望永久保留的网页的宝贵可读内容。将其视为书签管理器和稍后阅读工具。 网络上的内容每天都会消失。很可能您几个月前偶然发现的一篇文章或图片现在已经消失了。当您在 Readeck 中保存某些…

运维SRE-02 正则表达式、grep

1.特殊符号补充 1.1位置相关的特殊符号 . 当前目录 .. 当前目录的上级目录 ~ 当前用户家目录 / 根目录 cd - 返回上次所在目录1.2熟练掌握 # 注释符号,root命令提示符 | 管道符号.1.3了解其他特殊符号 $ 取值(取出变量的值),普通用户的提示符 ! % ^ & * (){} [] ; ? \…

Quick BI中lod函数之lod_fixed

一、lod函数简介 LOD函数的全称是详细级别表达式&#xff08;Level Of Detail Expressisons&#xff09;。它主要是为了克服一些表达式之间计算颗粒度不一致的问题。比如&#xff0c;要计算第一季度各月销售收入占比&#xff0c;这里分子计算颗粒度为’月’&#xff0c;但是分…