网络协议与攻击模拟_12DNS协议及Windows部署DNS服务器

news2025/2/5 0:43:39

1、了解域名的结构

2、DNS查询过程

3、Windwos server部署DNS服务器

4、分析流量 实施DNS欺骗 再分析

一、DNS域名系统

1、DNS简介

DNS(Domain Name system)域名系统,作为将域名的IP地址的相互映射关系存放在一个分布式的数据库,DNS使用的是UDP的53号端口。

域名:由ICNNN机构统一管理
www.baidu.com www.a.shifen.com www.sina.com  httpd.apache.org

DNS欺骗:正产访问一个域名,比如我访问的是www.baidu .com,正常会将www.baidu.com解析成百度的IP地址,攻击主机使得你访问百度的时候解析到另一个IP地址上面去,如果解析到的这个IP地址上面有对应的网站,那么当你访问百度的时候就跳转到其他网站上面去了。那么我们就需要多方面去查看,如使用nslookup www.biadu.com看下解析出来的IP地址到底是不是百度,如果不是百度的IP地址是另外一个IP地址,那么你可能就被钓鱼了。相当于你访问的是正规的域名但是它给你跳转到其他的页面了。钓鱼还有了另外一个场景:攻击者伪造一个和官方很像的域名,里面的网站也和官方的一模一样。

2、域名空间

  • 根域:全世界只有13台根域服务器
  • 顶级域:主要用于区分域名的用途
  • 二级域:woniu.com     网站www.woniu.com      邮件mail.woniu.com
  • 组织类
    • .com         商业
    • .edu        教育
    • .org        社会非营利性组织
    • 国家/地区域名
    • .cn        中国
    • .us        美国
    • .uk        英国
    • FQDN(完全限定域名)同时带主机头和域名的名称。主机名.DNS后缀(主机名)
      在很多应用场景中需要输入对应的域名,就需要输入一个比较合格的域名就是所谓的完全限定域名,即在域名空间内不会冲突的域名。
      就比如:在内网中随便写域名无所谓,但是在公网上面不能随便写一个域名,说不定你随便写的域名就是别人正在使用的,还有就是你写的这个域名到底是不是通过合法的途径注册的,注册域名需要备案,域名和IP是有对应关系的,别人的域名是解析不到你的服务器上面的。
  • 一个IP可以绑定多个域名,如在一台服务器上搭建了网站和邮件服务系统,绑定不同的域名,解析到的IP都是同一个IP,但是用的端口号是不一样的
  • 一般用不同的主机头来区分不同的服务

二、DNS的查询

1、查询过程

客户机想要访问www.baidu.com,根据TCP/IP参数,向自己的首选DNS服务器发送DNS请求

首选DNS收到客户机的请求后,会去查询自己的区域文件,找不到www.baidu.com的IP地址信息(将请求转发到根域服务器,需要配置根提示);直接可以找到www.baidu.com的IP地址信息(直接响应给客户机)。

根域服务器收到请求后,由于根域服务器只维护顶级域服务器信息,会响应顶级域服务器IP,首选DNS根据根域服务器响应的信息将请求转发到com顶级域。

com顶级域服务器收到请求,由于com顶级域只维护二级域信息,会响应二级域服务器的IP(baidu.com),首选DNS根据顶级域响应的信息将请求转发到baidu.com二级域。

baidu.com二级域收到请求,baidu.com的DNS服务器里面维护的是baidu.com区域的所有主机信息,包含了www.baidu.com的信息,直接将www.baidu.com的IP地址响应给首选DNS。

首选DNS再响应给客户机。

2、查询方式

  • 递归查询

当客户机请求自己的首选DNS服务器,首选DNS上有域名记录信息,直接响应给客户机(根据上图所示,第1步和第8步是递归查询)

  • 迭代查询

首选DNS服务器没有域名信息,通过一级一级去请求根域服务器、顶级域服务器、二级域服务器的过程称为迭代查询。(根据上图所示,第2~7步是迭代查询)

3、查询内容

  • 正向查询:通过域名查IP
  • 反向查询:通过IP查域名

三、部署DNS服务器

1、DNS 服务器分类

  • 主要名称服务器:存放区域(二级区域)中相关的设置,存放的区域文件的正本数据
  • 辅助名称服务器:存放的副本数据,是从主要名称服务器复制过来的,不能修改
  • 主控名称服务器:提供数据复制(可以简单的理解成是DNS服务器中的某一个角色)
  • 缓存(cache-only)域名服务器:里面没有区域文件,需要配置转发器

2、正向解析

使用windows部署DNS服务器,使用linux部署DNS服务器(bind服务).

(1)添加DNS服务

Windows Server虚拟机选择Vmnet2网络并设置静态IP地址。
首选DNS指向自己,因为自己本身就是DNS服务器

服务器管理器->添加角色和功能->下一步->……->DNS服务器,直接下一步下一步下一步安装。

(2)配置DNS主机记录

a、新建主要名称服务器

右击正向查找区域”->新建正向区域->主要区域

新建区域名称,会自动创建区域文件。

保持默认不允许动态更新。

下一步完成,正向区域创建好了,默认有SOA记录和名称服务器NS。

b、添加DNS主机记录

主要用到的有主机记录、别名记录、邮件交换机记录

新建主机记录,形成主机IP地址和域名的映射,这里的创建相关的指针(PTR)记录,是反向指针记录。默认不勾选。

二级域名是woniu.com ,主机名是www,也就是192.168.30.50对应的域名是www.woniu.com

c、DNS域名解析 

打开一台客户机,设置成和DNS Server一样的Vmnet2网络、

配置TCP/IP 参数,首选DNS指向DNS Server

这个时候就能直接解析了,解析之前打开winshark。

d、winshark分析流量

根据winshark抓到的数据流量,

winsahrk查找字符串www.woniu.com会自动锁定到这里,可以看到88.20在请求88.100

下面就是DNS的报文 ,Queries这里有个请求,www.woniuxy.com请求是A记录。

在服务器这边就找到了对应的A记录并做了响应,后面是DNS记录中主机记录对应的IP地址

(3)配置DNS别名记录

新建别名记录,这里目标主机的完全合格的域名是指你要为哪个域名创建别名

 这个时候就相当于给www命名了一个别名hahaha了

在另一条Windows上面用nsllokup命令解析一下,这里就有一个Aliases别名了。

(4)DNS添加子域

每一个域下面可以新建子域,也可以新建三级域名的区域。子域可以使得它的业务更具层次性。

比如百度业务很广,它划分的子域很细,比如某一块业务划分到一个子域当中,可能这一块业务下面还会有多个主机,所以说它就分的很细 。一般只有大业务才会出现子域,就类似于文件夹目录结构。

在www.woniuxy.com下面还可以新建域cc,它是基于woniuxy.com的。

 然后在cc这个域下面新建主机记录

子域解析 

3、反向解析

(1)主域名主机的反向解析

反向:通过IP解析域名

会自动创建反向区域的名字

下一步下一步完成

现在就能通过IP地址反向解析域名了

(2)二级域名主机的反向解析

如果没有新建反向区域就不能解析IP地址,给cc下面这台主机创建一个反向指针

因此,为了方便新建一个192.168.的反向区域

这里只固定了IP地址的前面两个数,此时再新建PTR指针的时候就可以写了

同样我可以新建192.168.22.10的反向PTR指针

nslookup解析看看

这就是所谓的反向指针 。

4、区域传送

区域传送

  • 将主要名称服务器的文件传送到辅助名称服务器上
  • 区域传送使用的是TCP协议

(1)正向区域传送

另外开一台windows server ,设置Vmnet2,然后配置TCP/IP 参数,首选DNS服务器指向192.168.88.100;在windows server装上DNS服务,安装成功后,新建辅助区域。

区域名称要和前面的一样,不然传不过来

这里要添加主服务器的IP

下一步,完成

回到主DNS Server上把192.168.88.200添加进区域传送

这里有个区域传送没有配置到,它默认选的是是只有在名称服务器选项卡列出的服务器 

名称服务器选项卡列出的服务器 没有列出我们这台主机192.168.88.200

回到辅助DNS服务器正向查找区域那儿右击刷新一下,主DNS服务器上面的正向区域的DNS就传过来了。

这边的数据是不能改的。

抓包流量分析

在区域传送的时候就是TCP的53号端口,但是在客户机请求服务器的时候用的是UDP的53号端口

192.168.88.100向DNS Server192.168.88.200的53号端口发起TCP请求

DNS区域传送使用的是TCP的53号端口

响应的就是区域的内容,类型是SOA

区域文件传完之后是TCP的四次挥手释放连接

之后66.200向66.100发送反向的PTR指针记录,此时就用的是UDP再传,可以看到这里是UDP报文

(2)反向区域传送

辅助DNS服务器上新建反向查找区域

主DNS服务器上设置反向DNS服务器的区域传送

区域传送,在允许区域传送中添加辅助DNS的IP,应用并确认。

下一步下一步完成

然后辅助的DNS服务器这边瞬间就同步过来了

winsahrk抓包

 

5、DNS记录类型 

  • A 记录:主机记录,域名和IP地址的映射关系
  • CNAME:别名记录,针对现有域名起一个别名
  • SOA:权威名称服务器
  • NS:名称服务器
  • MX:邮件交换记录。主要是像邮件交换主机提供路由的。一般有邮件服务器时使用。
  • SRV:正在提供特定服务的服务器
  • PTR:反向指针记录。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OBB头篇 | 原创自研 | YOLOv8 更换 SEResNeXtBottleneck 头 | 附详细结构图

左图:ResNet 的一个模块。右图:复杂度大致相同的 ResNeXt 模块,基数(cardinality)为32。图中的一层表示为(输入通道数,滤波器大小,输出通道数)。 1. 思路 ResNeXt是微软研究院在2017年发表的成果。它的设计灵感来自于经典的ResNet模型,但ResNeXt有个特别之处:它采用…

小米服务治理——客户端熔断器(Google SRE客户端熔断器)

目录 前言 一、什么是Google SRE熔断器 二、Google SRE 熔断器的工作流程: 三、客户端熔断器 (google SRE 熔断器) golang GRPC 实现 四、客户端熔断器 (google SRE 熔断器) golang GRPC单元测试 大家可以关注个人博客:xingxing – Web Developer …

【动态规划】【C++算法】1340. 跳跃游戏 V

作者推荐 【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数 本文涉及知识点 动态规划汇总 LeetCode1340跳跃游戏 V 给你一个整数数组 arr 和一个整数 d 。每一步你可以从下标 i 跳到&#xff1a; i x &#xff0c;其中 i x < arr.length 且 0 < x…

提及闭包函数,不得不说【python装饰器】

什么是装饰器 1. python装饰器是用于拓展原来函数功能的一种函数&#xff0c;目的是在不改变原函数的情况下&#xff0c;给函数增加功能。 2. 装饰器是通过闭包实现&#xff0c;所以讲装饰器首先得知道什么是闭包。 前言 什么是闭包 一、什么是闭包 1. 一个定义在函数内部的函…

[职场] 个人简历教育背景怎么填 #其他#笔记#媒体

个人简历教育背景怎么填 一个人的受教育程度很大部分决定了此人的专业素质&#xff0c;简历中的教育背景是HR衡量求职者的标准&#xff0c;因此教育背景部分在简历中比较靠前。 怎么写教育背景&#xff1f; 1、时间 首先&#xff0c;最重要的是你要注明好时间&#xff0c;时间都…

idea搭建spring5.3.x源码环境

1.写在前面的话 碰到了不少想阅读或者学习spring源码的同学&#xff0c;但是第一步搭建这个源码阅读环境就能难倒了一大批人。下面我就以spring5.3.x这个源码分支&#xff0c;来具体演示一下搭建过程。 2. 下载源码 下载源码这一步&#xff0c;说实话&#xff0c;由于某些原…

STM32控制DS18B20温度传感器获取温度

时间记录&#xff1a;2024/1/28 一、DS18B20温度传感器介绍 &#xff08;1&#xff09;测温范围-55℃~125℃&#xff0c;在-10℃到85℃范围内误差为0.4 &#xff08;2&#xff09;返回的温度数据为16位二进制数据 &#xff08;3&#xff09;STM32和DS18B20通信使用单总线协议…

算法模板 3.二分查找

二分查找 789. 数的范围 - AcWing题库 check函数&#xff08;lr&#xff08;这里要不要1&#xff09;&#xff09;>> 1 &#xff0c;要根据具体情况&#xff0c;如果是r mid的话lr就不用1&#xff0c;l mid的话就要1 #include <bits/stdc.h> using namespace s…

Android Retrofit添加header参数

前言 有些接口需要单独设置header参数 作为标记 如何灵活 或者统一设置请求header呢 注解Headers 顾名思义 Headers是指多个header 放在对象里 统一管理 //获取xxx Headers({"Content-Type: application/json","User-Agent: test"}) POST("xxxx&q…

小程序:类型三级分类

一、效果图片 二、代码 <template><view class"customPosition"><!-- header --><navBar :border"false" :hasBack"true" :title"titleName"></navBar><!-- 查询 --><view class"search…

JavaWeb之打包失败解决方案

情况描述&#xff1a; ---打包不成功 这时点击Maven中的蓝色小闪电&#xff1a; 小闪电的意思&#xff1a;是否跳过测试。点击选中就可以跳过&#xff0c;打包的时候就可以跳过测试代码。 再次打包后即可成功&#xff1a; 查看具体打包后的jar包&#xff1a; 打包后&#x…

openGaussdb5.0单点企业版部署_Centos7_x86

本文档环境&#xff1a;CentOS7.9 x86_64 4G1C40G python2.7.5 交互式初始化环境方式 介绍 openGauss是一款开源关系型数据库管理系统&#xff0c;采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验&#xff0c;结合企业级场景需求&#xff0c;持续…

Ubuntu远程连接登录信息解读(ubuntu登录信息、远程登录信息)

文章目录 1. Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-100-generic aarch64)2. 三个链接是官方提供的文档、管理工具和技术支持3. System information as of Thu 01 Feb 2024 03:30:45 PM HKT4. System load: 1.16&#xff1a;系统负载指数5. Processes: 1096系统正在运…

虹科技术|一文详解IO-Link Wireless技术如何影响工业无线自动化

导读&#xff1a;在工业无线自动化的飞速发展进程中&#xff0c;IO-Link Wireless技术成为了一项具有颠覆性的创新。它将IO-Link协议与无线连接完美结合&#xff0c;解决了传统通信技术在工业应用中的痛点。本文将深入解析IO-Link Wireless技术的原理、应用领域、优势以及实际案…

vue3集成video.js

就长这个样子&#xff0c;该有的功能都有了 首先安装 npm install video.js 然后创建一个vue文件 <template><div class"full" style"padding: 10px;overflow: auto;"><video :id"videoId" class"video-js"><…

LeetCode.1686. 石子游戏 VI

题目 题目链接 分析 本题采取贪心的策略 我们先假设只有两个石头a,b&#xff0c; 对于 Alice 价值分别为 a1,a2&#xff0c; 对于 Bob 价值而言价值分别是 b1,b2 第一种方案是 Alice取第一个&#xff0c;Bob 取第二个&#xff0c;Alice与Bob的价值差是 c1 a1 - b1&#xf…

Django模型(八)

一、修改数据 先获取对象,通过对象属性更新数据,再保存 (更新单一数据)通过QuerySet的update函数更新数据 (更新多条数据) #单条记录修改 save c = Cook.objects.get(pk=1) c.name = 安妮 c.save()# 更新多个值 update Cook.objects.filter(sect=粤菜).update(level=5)1.1、…

游戏APP开发:从创意到实现的全过程

随着智能手机的普及和移动互联网的发展&#xff0c;游戏APP市场日益繁荣。游戏APP开发已经成为一个热门行业&#xff0c;吸引了众多开发者和创业者的关注。本文将介绍游戏APP开发的全过程&#xff0c;包括创意、策划、设计、开发、测试和发布等环节。 一、创意 游戏APP开发的…

测试access和trunk口的区别(华为)

思科设备参考&#xff1a;测试access和trunk口的区别&#xff08;思科&#xff09; 一&#xff0c;实验目的 实现同一 Vlan 内的主机互通&#xff0c;不同 Vlan 间的主机隔离。 二&#xff0c;配置前测试 PC1分别ping PC2、PC3、PC4都能通&#xff0c;因为四台PC默认同处于v…

2024年美赛F题Problem F Reducing Illegal Wildlife Trade减少非法野生动物贸易的完整思路代码分享

非法的野生动物贸易会对我们的环境产生负面影响&#xff0c;并威胁到全球的生物多样性。据估计&#xff0c;它每年涉及高达265亿美元&#xff0c;被认为是全球第四大非法交易。[1]你将开发一个由数据驱动的5年项目&#xff0c;旨在显著减少非法野生动物贸易。你的目标是说服一个…