zoukankan      html  css  js  c++  java
  • 应用层协议分析-WinService12r2网络服务搭建DNS协议分析

    DNS基本概念

    DNS(Domain NameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
    在这里插入图片描述

    DNS域名空间

    域名空间是指一个逻辑树状层次化结构的命名空间
    在这里插入图片描述

    常用顶级域

    顶级域名 用途
    com 商业用途
    edu 教育机构
    mil 军事组织
    net 网络支持中心
    org 非盈利组织

    DNS子域

    dns域树上的每个节点都可以由一个完全合格域名(FQDN)标识,能准确表示出它相对于DNS域树根的位置
    在这里插入图片描述

    DNS协议流程

    DNS协议运行在TCP协议或者UDP协议之上,使用端口号53。DNS在进行区域传输的时候使用TCP协议(区域传送指的是一台备用服务器使用来自主服务器的数据同步自己的域数据库),其它时候则使用UDP协议。
    查询过程:客户向DNS服务器的53端口发送UDP/TCP报文,DNS服务器收到后进行处理,并把结果记录仍以UDP/TCP报文的形式返回过来。
    在这里插入图片描述

    DNS协议格式

    这里我们主要讨论使用UDP报文进行DNS查询的流程。
    在这里插入图片描述
    ID:2字节,标识符,通过随机数标识该请求。
    Flags:2字节,标志位设置。
    第1位:msg类型,0为请求(query)1为响应(response)。
    第2-5位:opcode,查询种类,0000表示标准query。
    第6位:是否权威应答 (应答时才有意义)。
    第7位:因为一个UDP报文为512字节,所以该位指示是否截断超过的部分。
    第8位:是否请求递归(这个比特位被请求设置,应答的时候使用的相同值返回)。
    第9位:由DNS回复返回指定,说明DNS服务器是否支持递归查询(这个比特位在应答中设置或取消)。
    第10-12位:保留位(设置为0)。
    第13-16位:应答码(0:没有错误,1:格式错误,2:服务器错误,3:名字错误,4:服务器不支持,5:拒绝,6-15:保留值)。
    Questions:2字节,报文请求段中的问题记录数;
    AnswerRRs:2字节,报文回答段中的回答记录数;
    AuthorityRRs:2字节,报文授权段中的授权记录数;
    AdditionalRRs:2字节,报文附加段中的附加记录数;
    Queries:查询请求内容(响应时不变即可)。
    Name:不定长,域名(例子:www.baidu.com需写作:3www5baidu3com0)。
    Type:2字节查询的资源记录类型。
    Class:2字节指定信息的协议组。
    Answers:查询响应内容,可以有0-n条(请求时为空即可)。
    Name:2字节(压缩编码)指向name第一次出现的地址且前两个bit为11。
    Type:2字节响应类型。
    Class:2字节。
    TTL:4字节。
    Datalength:2字节,指接下来的data长度,单位为字节。
    Address/CNAME:4字节地址/不定长域名。
    Authoritativenameservers:
    Name:2字节(压缩编码)指向name第一次出现的地址且前两个bit为11。
    Type:2字节响应类型。此处为2(NS)。
    Class:2字节。
    TTL:4字节。
    Datalength:2字节,指接下来的data长度,单位为字节。
    nameserver:此处为6字节,表示的,表示方法待研究。
    Additionalrecords:
    Name:2字节(压缩编码)指向name第一次出现的地址且前两个bit为11。
    Type:2字节响应类型。
    Class:2字节,表示类型。
    TTL:4字节。
    Datalength:2字节,指接下来的data长度,单位为字节。
    Address:此处为4字节地址。

    服务搭建

    安装dns服务器设置静态ip地址
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    配置正向区域

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    配置正向区域文件

    在这里插入图片描述
    在这里插入图片描述

    配置本地dns服务验证

    在这里插入图片描述
    在这里插入图片描述

    配置反向区域

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    配置反向区域文件

    在这里插入图片描述

    在这里插入图片描述
    ok
    在这里插入图片描述

    抓包分析

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    linux常用命令---文件操作
    Django 框架中定时触发脚本
    jquery 中选择当前标签下众多相同子标签中的第n个
    Django + DRF + Elasticsearch 实现搜索功能
    django 使用celery 实现异步任务
    python 通过 pymysql模块 操作 mysql 数据库
    django 自定义中间件 middleware
    django 使用其自带的验证系统 进行用户名有效性验证 登录状态验证 登入操作 登出操作
    python脚本 读取excel格式文件 并进行处理的方法
    python 将json格式的数据写入csv格式的文件中
  • 原文地址:https://www.cnblogs.com/cqnswp/p/12568856.html
Copyright © 2011-2022 走看看