1、了解域名结构

2、DNS查询过程

3、在Windows Server上部署DNS

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

一、DNS

1、概念

  • DNS(Domain Name System):域名系统,作为将域名和IP地址的相互映射关系存放在一个分布式的数据库中,DNS使用的是UDP的53号端口(客户机请求服务器时)有时也使用TCP的53号端口(区域传送时)
  • 域名:由ICANN机构统一管理

2、域名空间

  • 树状结构
    • 根域:全世界只有13台根域服务器
    • 顶级域:主要用于区分域名的用途
      • 组织类
        • com:一般用于商业
        • edu:教育类和学校类
        • org:一般用于社会非营利性组织
      • 国家/地区域名
        • cn:中国
        • hk:香港
        • us:美国
        • uk:英国
    • 二级域(一般申请的都是二级域):一个二级域可以提供多个服务,但要用不同的主机头来进行区分
    • FQDN(完全限定域名):同时带有主机名和域名的名称。主机名.DNS后缀(二级域名)

二、DNS查询

image

  • 客户机想要访问www.baidu.com,根据自己的TCP/IP参数,向自己的首选DNS服务器发送DNS请求
    • 首选DNS收到客户机的请求后,会去查询自己的区域文件,如果直接可以找到www.baidu.com的IP地址信息,直接响应给客户机
    • 首选DNS收到客户机的请求后,会去查询自己的区域文件,如果找不到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再响应给客户机

1、查询方式

  • 递归查询

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

    • 首选DNS服务器没有域名记录信息,通过一步一步去请求根域服务器、顶级域服务器、二级域服务器,最终找到对应的域名记录信息(根据上图,第2-6步就是迭代查询)

2、查询内容

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

三、使用Windows Server部署DNS服务器

1、使用Linux(bind服务)

2、DNS服务器分类

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

3、DNS记录

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

4、区域传送

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

5、步骤

  • 安装DNS服务

  • 打开DNS管理器

  • 右击正向查找区域——>新建区域,选择区域类型

image

  • 输入区域名称

image

  • 选择创建新文件或使用现存文件

image

  • 不允许动态更新
  • 创建完成

image

  • 右键新建主机,输入名称和IP地址,当创建了相同网段下的反向查找区域时,可以选择创建PTR记录

image

  • 创建别名

image

  • 新建域(相当于文件夹)

image

四、分析DNS流量

1、DNS报文字段

  • ID字段
  • flags:标志(总共16位2进制)
    • 第1位:标识消息类型,0是请求,1是响应
    • 第2-5位:opcode 查询种类
    • 第6位:标识是否是一个权威应答
    • 第7位:一个UDP报文为512字节,指示是否截断超过的部分
    • 第8位:是否请求递归
    • 第9位:允许递归的标识
    • 第10-12位:保留位
    • 第13-16位:响应报文的应答码(共有15种,请求报文没有)
      • 0没有错误
      • 1格式错误
      • 2服务器错误
      • 3名字错误
      • 4服务器不支持
      • 5拒绝
      • 6-15保留
  • Questions:请求报文中问题的记录数
  • Answer RRs:回答段中的应答记录数
  • Authority RRs:授权段中的授权记录数
  • Additional RRs:附加段中的附加记录数
  • Queries
  • Answers
posted on 2022-07-19 23:27  大咸鱼8125  阅读(245)  评论(0编辑  收藏  举报