浅谈DNS

释放双眼,带上耳机,听听看~!

0X01 什么是DNS

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

在整个互联网体系中,约定俗成的用于标识网络上设备的地址是IP,然而我们输入的是DNS,因为域名更方便人们记忆,不然那么多网站,人怎么可能记住所有的IP地址

简单来说,如果没有DNS,你访问网站就需要,记住网站的IP地址 【123.XXX.XXX.XXX】,进而通过IP地址来访问网站,我就问你能记住多少!浪费脑细 胞!

DNS协议运行在UDP协议之上,使用端口号53

0X01 DNS查询方式

  • 递归查询: 一般客户机和首选DNS服务器(宽带连接是设置的默认DNS)之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终结果后转交给客户机
  • 迭代查询(反复查询): 一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求
浅谈DNS

注:递归,是本地DNS服务器,帮DNS客户端去做,挨个询问

迭代,是DNS客户端去挨个问,你解析了吗?你干了多少活?什么你没找到,那你告诉我问谁?交给我吧,我去问,剩下的不用你管了。

0X02 DNS解析过程

  • 浏览器缓存:浏览器会按照一定的频率缓存DNS记录。
  • 操作系统缓存:如果浏览器缓存中找不到需要的DNS记录,那就去操作系统中找。
  • 路由缓存:路由器也有DNS缓存。
  • ISP的DNS服务器:ISP是互联网服务提供商(Internet Service Provider)的简称,ISP有专门的DNS服务器应对DNS查询请求。
  • 根服务器:ISP的DNS服务器还找不到的话,它就会向根服务器发出请求,进行递归查询(DNS服务器先问根域名服务器.com域名服务器的IP地址,然后再问.com域名服务器,依次类推)。
浅谈DNS

自己画的,不接受一切关于字体的批评 *-*.jpg

0X03 DNS记录类型

  • 主机记录(A记录)

RFC 1035定义,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。过A记录,大家可以设置自己的不同域名转到不同的IP上去,如:

1) www.dns.la 转到IP 116.255.202.1

2) web.dns.la 转到IP 116.255.202.11

3) mail.dns.la 转到IP 116.255.202.111

  • 别名记录(CNAME记录)

RFC 1035定义,CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。对于CNAME的原理要注意和URL转发进行区分:

1) url转发可以转发到某一个目录下,甚至某一个文件上

2) 而cname是不可以,这就是url转发和cname的主要区别所在

  • MX记录(Mail Exchange)

邮件交换记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操作控制所有的邮箱设 置。要注意的是邮箱DNS解析和HTTP DNS解析是独立的,如果你设置A记录是指向123.12.123.123,而MX记录你设置是指向222.22.222.222,那么你的DNS服务器接收到别人的邮件路 由请求时就将会将它的请求解释到222.22.222.222上去!而别人访问你的网页的时候仍然是访问123.12.123.123。

  • NS(Name Server)

域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析,可以把一个域名的不同二级域名分别指向到不同的DNS系统来解析

  • IPv6主机语录(AAAA记录)

RFC 3596定义,与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。

  • 服务位置记录(SRV记录)

RFC 2782定义,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。

  • NAPTR记录

RFC 3403定义,它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。

0X04 DNS搜集信息工具

1.DNSQuerySniffer

是一个网络嗅探器实用程序,它显示系统上发送的DNS查询。对于每个DNS查询,将显示以下信息:主机名,端口号,查询ID,请求类型(A,AAAA,NS,MX等),请求时间,响应时间,持续时间,响应代码,记录数,以及返回的DNS记录的内容。

您可以轻松地将DNS查询信息导出到csv / tab-delimited / xml / html文件,或将DNS查询复制到剪贴板,然后将其粘贴到Excel或其他电子表格应用程序中

DNSQuerySniffer使用

使用前会让你选择网卡,访问网页就会看到DNS查询记录

浅谈DNS

DNSQuerySniffer列含义

  • 主机名:要查询的主机名
  • 端口号:用于发送DNS查询的客户端UDP端口
  • 查询ID查询的ID
  • 请求类型:DNS请求的类型-A,AAAA,NS,MX等…
  • 请求时间:发送DNS请求的确切时间。时间以绝对日期/时间或相对于捕获开始的时间指定,具体取决于您在选项->时间显示模式中选择的内容
  • 响应时间:收到DNS响应的确切时间。时间以绝对日期/时间或相对于捕获开始的时间指定,具体取决于您在选项->时间显示模式中选择的内容
  • 持续时间:请求时间和响应时间之间的时间差(以毫秒为单位)
  • 响应代码:返回的响应代码。如果响应代码不是“ Ok”,则表示DNS服务器返回了错误,并且项目符号图标将变为红色而不是绿色
  • 记录计数:DNS服务器返回的记录总数
  • A:显示DNS服务器返回的IP地址列表(IPv4)
  • AAAA:显示DNS服务器返回的IP地址列表(IPv6)
  • CNAME:显示DNS服务器返回的CNAME记录
  • NS:显示DNS服务器返回的NS记录
  • MX:显示DNS服务器返回的MX记录
  • PTR:显示DNS服务器返回的PTR记录
  • SOA:显示DNS服务器返回的SOA记录
  • 源地址:发送DNS查询的客户端的IP地址
  • 目标地址:接收DNS查询的DNS服务器的IP地址

图标颜色的含义

  • 绿色-从DNS服务器收到成功响应
  • 红色-从DNS服务器接收到失败的响应
  • 黄色-DNS服务器没有任何响应

2.DNSDataView

DNSDataView是可下载的基于Windows的应用程序,可为用户提供Windows操作系统随附的NSLookup工具的实用工具和GUI替代品

DNSDataView使用

设置域名,解析记录类型即可

浅谈DNS
浅谈DNS

3.Dnsrecon

命令:dnsrecon -t std -d www.*.com
浅谈DNS

这里可以看出**使用了创宇盾,加速乐还有一条A记录

4.Dnstracer

向指定域名服务器发送非递归域名请求。非递归请求的意思是,如果域名服务器知道,那么它会返回请求数据。如果域名服务器不知道,它会返回授权域的域名服务器或返回根域名服务器的地址。

浅谈DNS

5.DNSenum

命令:dnsenum -w -r *.com
浅谈DNS
命令:dnsenum -thread 20  -f 子域名.txt -r *.com   //根据字典爆破
浅谈DNS

6.fierce

命令:fierce -dns baidu.com
浅谈DNS
命令:fierce -dns baidu.com -wordlist 子域名.txt
浅谈DNS

7.Dig

命令:dig *.com +trace //跟踪解析过程,并显示
浅谈DNS

0x05参考

百度、必应

人已赞赏
安全工具安全教程

移动安全开发指南-保护内部资源

2019-10-24 17:04:29

安全教程

社会工程学-钓鱼攻击

2019-10-25 14:23:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索