zoukankan      html  css  js  c++  java
  • Kali学习笔记4:DNS信息收集

    DNS记录

    A记录

    A记录是用来创建到IP地址的记录。

    A记录设置技巧

    1、如果想创建不带www的记录,即cnblog.com,在主机记录中填写@或者留空,不同的注册商可能不一样。

    2、创建多个域名到同一个IP,比如给博客建了二级域名,可以使用*.blog.cnblog.com来指向一个IP,这样的话,不管是访问a.blog.cnblog.com还是b.blog.cnblog.com都能到同一个IP。

    3、如果你给同一个二级域名设置了多个A记录,比如你建了两个blog的A记录,其中一个指向了111.111.111.111,另一个指向了111.111.111.112,那么在查询的时候,每次返回的数据包含了两个IP地址,但是在返回的过程中数据排列的顺序每次都不相同。由于大 部分的客户端只选择第一条记录所以通过这种方式可以实现一定程度的负载均衡。

    在命令行下可以通过nslookup -qt=a www.cnblog.com来查看A记录。

    MX记录

    在命令行下可以通过 nslookup -qt=mx cnblog.com 来查看MX记录。

    mx 记录的权重对 Mail 服务是很重要的,当发送邮件时,Mail 服务器先对域名进行解析,查找 mx 记录。先找权重数最小的服务器(比如说是 10),如果能连通,那么就将服务器发送过去;如果无法连通 mx 记录为 10 的服务器,那么才将邮件发送到权重为 20 的 mail 服务器上。

    这里有一个重要的概念,权重 20 的服务器在配置上只是暂时缓存 mail ,当权重 20 的服务器能连通权重为 10 的服务器时,仍会将邮件发送的权重为 10 的 Mail 服务器上。当然,这个机制需要在 Mail 服务器上配置。

    CNAME记录

    CNAME记录也成别名记录,它允许你将多个记录映射到同一台计算机上。比如你建了如下几条记录:

    a1 CNAME a.cnblog.com 
    a2 CNAME a.cnblog.com 
    a3 CNAME a.cnblog.com 
    a A 111.222.111.222

    我们访问a1(a2,a3).cnblog.com的时候,域名解析服务器会返回一个CNAME记录,并且指向a.cnblog.com,然后我们的本地电脑会再发送一个请求,请求a.cnblog.com的解析,返回IP地址。

    当我们要指向很多的域名到一台电脑上的时候,用CNAME比较方便,就如上面的例子,我们如果服务器更换IP了,我们只要更换a.cnblog.com的A记录即可。

    在命令行下可以使用nslookup -qt=cname a.cnblog.com来查看CNAME记录。

    TXT记录

    TXT记录一般是为某条记录设置说明,比如你新建了一条a.cnblog.com的TXT记录,TXT记录内容"this is a test TXT record.",然后你用 nslookup -qt=txt a.cnblog.com ,你就能看到"this is a test TXT record"的字样。

    除外,TXT还可以用来验证域名的所有,比如你的域名使用了Google的某项服务,Google会要求你建一个TXT记录,然后Google验证你对此域名是否具备管理权限。

    在命令行下可以使用nslookup -qt=txt a.cnblog.com来查看TXT记录。

    AAAA记录

    AAAA记录是一个指向IPv6地址的记录。

    可以使用nslookup -qt=aaaa a.cnblog.com来查看AAAA记录。

    NS记录

    NS记录是域名服务器记录,用来指定域名由哪台服务器来进行解析。可以使用nslookup -qt=ns cnblog.com来查看。

    TTL值

    TTL=time to live,表示解析记录在DNS服务器中的缓存时间。比如当我们请求解析www.cnblog.com的时候,DNS服务器发现没有该记录,就会下个NS服务器发出请求,获得记录之后,该记录在DNS服务器上保存TTL的时间长度。当我们再次发出请求解析www.cnblog.com 的时候,DNS服务器直接返回刚才的记录,不去请求NS服务器。TTL的时间长度单位是秒,一般为3600秒。

    1.NSLOOKUP命令:解析DNS(通过域名查询IP)

    简单的使用:

    设置查询类型:A、MX等等

    我们可以自定义DNS服务器解析:

    发现我们查询到的地址和刚才查到的不一样

    因为:自定义查找的是距离最近的DNS服务器,而不是本地优化网络

    dig命令:类似nslookup:

    可以加一些参数:比如我们不需要看太过详细的信息,只看结果:

    或者利用管道筛选:

    反向查询:

    dig特有的功能:

    1.查找DNS服务器版本:

     

    追踪查询:

    DNS区域传输:

    正常情况下,DNS区域传输只存在于DNS服务器之间

    而有些粗心的管理员没有配置完善,我们可以用以下的命令进行DNS区域传输:

    有两种方式:

    1.

    2.

    然而都失败了,属于正常现象,因为有相应的工作人员已经完善了。

    附加:Host命令的简单介绍:

    区域传输很重要,如果我们获取了目标DNS服务器全部记录,就可以更方便地展开攻击

    好的,我们区域传输失败,有没有方式能够成功?

    DNS字典爆破:

    方法和过程如下:

    1.没有自定义字典的情况下:

    很慢,我先把他停下,找一找系统中可以利用的字典:

    很慢,有耐心的朋友可以等它2280次完成!

    第二种方式:dnsdict6

    由于Kali2.0以上不再内置,下载需要翻墙,不便,于是跳过这一工具。

    第三种:dnsmap

    这种是我最喜欢的,参数简单,效率不错

    我们获取到DNS信息后,就可以做其他有趣的操作了!

  • 相关阅读:
    Lucene.net中的异常处理
    解决lucene 1.* 使用排序后内存溢出问题
    常用的正则表达式
    我的博客开通了
    oracle 常用函数
    破解 office 正版增值计划补丁
    关于dbcommandbuilder的几点说明
    类型转换(一)
    可变数量的参数
    关闭页面时操作数据库
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/9021268.html
Copyright © 2011-2022 走看看