首先更正一个小白很普遍的错误观点,www.baidu.com(严格上是www.baidu.com. 这个点是根的意思,所有的记录从这里开始)并不是一个真正意义上的域名,而是百度服务器的A记录,baidu.com才是百度服务器的域名。

DNS解析流程

1:自己的电脑的网络配置中会指定一个本地DNS服务器,当发起网络请求时,主机先问问本地DNS服务器,DNS服务器返回对应域名的的ip地址。

2:当然这个本地的DNS服务器一开始是不知道的,它会去问根域服务器(即.域)。

3:根域服务器也不知道,但是会返回.com域的域名服务器的地址,让本地服务器问问.com服务器。

4:这时本地DNS服务器就会去问.com服务器。当然了,.com服务器也不可能知道,它会返回一个存储了baidu.com这个域名的服务器的地址,让本地服务器问问baidu.com域名服务器服务器。PS:这里就比较接地气了,有过建站经历的小伙伴都知道,这个存储了biadu.com域名的服务器就是就是我们域名解析时所用的服务器。

5:这时本地服务器就回去问记录了baidu.com这个域名的服务器,问问它知不知道www.baidu.com对应的ip地址是多少。这个服务器一查,确实有一个域名是baidu.com的主机进行了A记录解析(即www.baidu.com),对应着一个ip地址,它会将ip地址返回给本地DNS服务器。

6:本地服务器拿到这个ip,二话不说现在本地缓存一份,然后再把www.baidu.com对应的ip地址返回给自己的电脑。

7:当有其他电脑问本地DNS服务器www.baidu.com对应的ip是多少时,本地DNS服务器发现自己的缓存中有这条记录(即步骤6),就会直接返回www.baidu.com的ip。

主机和本地服务器之间的查询称为递归查询,而本地服务器与各种域名服务器之间的查询称为迭代查询。

当然了,对于百度这种访问量特别大的网站,我们访问百度通常都是从步骤7开始的,然后就直接结束了。大概只有在本地服务器清除缓存的一瞬间才能有1-7的完整步骤吧。

除了A记录还有C name、NS、MX、ptr记录。

C name:别名记录,将一个域名解析成另一个域名;

NS:域名服务器的地址记录;

MX:邮件交换记录;

ptr:反向记录,将ip解析成域名。

有兴趣的同学可以安装思科的网络模拟器Cisco Packet Tracer感受一下完整的解析流程。

接下来演示Kali中nslookup的解析:

由于解析百度过程比较简单,所以这里使用新浪作为例子。

如图,解析www.sina.com显示这是一个C name记录,对应了us.sina.com.cn.这条记录,继续解析us.sina.com.cn.发现这也是一条C name记录,对应spool.grid.sinaedge.com.这条记录,再查询spool.grid.sinaedge.com.发现这才是一条A记录,对应ip为117.21.216.80

我们可以ping新浪:

发现对应的ip地址就是之前查询到的ip

信息收集-DNS的更多相关文章

  1. 信息收集->DNS分析->dnsdict6

    如何获取域名的IPV4/IPV6地址之dnsdict6的使用 dnsdict6是一个用于获取网站信息的工具.dnsdict6可以扫描网站并显示有多少域或者子域,也可以扫描ipv6/ipv4地址.dns ...

  2. Kali信息收集-DNS

    1.whois查询 直接在终端输入whois 域名 2.查找dns服务器 (1)host (2)dig (3)nslookup 3.域传输 4.域名枚举 (1)dnsdict6 kali没有集成这款工 ...

  3. kali linux之被动信息收集(dns信息收集,区域传输,字典爆破)

    公开可获取的信息,不与目标系统产生交互,避免留下痕迹 下图来自美军方 pdf链接:http://www.fas.org/irp/doddir/army/atp2-22-9.pdf 信息收集内容(可利用 ...

  4. 0x01.被动信息收集

    被动信息收集 基于公开渠道,不与目标系统产生直接交互,尽量避免留下痕迹(不进行大量扫描,正常交互范围) 信息收集内容 IP段 域名 邮件地址(定位邮件服务器,分为个人搭建和公网邮件系统) 文档图片数据 ...

  5. web渗透系列--信息收集

    信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测.正所谓,知己知彼百战百胜! 信息收集的方式可以分为两种:主动和被动. 主 ...

  6. DNS信息收集命令nslookup

    DNS信息收集--NSLOOKUP 前面文章我介绍了dig命令,NSLOOKUP命令用法差不多 简单查询 语法:nslookup domain [dns-server] nslookup www.si ...

  7. Kali Linux渗透测试实战 2.1 DNS信息收集

    目录 2.1 DNS信息收集1 2.1.1 whois查询3 2.1.2 域名基本信息查询4 Dns服务器查询4 a记录查询4 mx记录查询5 2.1.3 域名枚举5 fierse 5 dnsdict ...

  8. 被动信息收集1——DNS基础 + DNS解析工具 NSLOOKUP使用

    被动信息收集 特点: 基于公开渠道 与目标不直接接触 避免留下一切痕迹 标准參考--OSINT: 美国军方 北大西洋公约组织 名词解释 DNS--Domain Name System 域名系统 因特网 ...

  9. MSF魔鬼训练营-3.1.1信息收集-通过DNS和IP地址挖掘目标网络信息

    情报搜集环境站渗透测试全过程的80%~90%   一.外围信息搜集(公开渠道信息搜集OSINT  open source intelligence) 3.1.1信息收集-通过DNS和IP地址挖掘目标网 ...

随机推荐

  1. pandas读写csv,并增加一列

    为读取csv,并DataFrame增加一列,再自由组合列并保存到csv文件: import pandas as pd sourceFile='d:\person.csv' #person.csv包括i ...

  2. Java实现 LeetCode 775 全局倒置与局部倒置(分析题)

    775. 全局倒置与局部倒置 数组 A 是 [0, 1, -, N - 1] 的一种排列,N 是数组 A 的长度.全局倒置指的是 i,j 满足 0 <= i < j < N 并且 A ...

  3. Java实现 LeetCode 441 排列硬币

    441. 排列硬币 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整 ...

  4. Java实现 LeetCode 235 二叉搜索树的最近公共祖先

    235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个 ...

  5. Java实现Fibonacci取余

    Description Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. Input 多 ...

  6. SQL Server实现 LeetCode 177 第N高的薪水

    177. 第N高的薪水 编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary). +----+--------+ | Id | Salary | +----+------ ...

  7. Java实现 LeetCode 120 三角形最小路径和

    120. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] ...

  8. Java实现 LeetCode 74 搜索二维矩阵

    74. 搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: ...

  9. java实现亲密数

    假设有 a.b 两个数,若 a 的所有因子之和等于 b,b 的所有因子之和等于 a, 并且 a 不等于 b,则称 a 和 b 是一对亲密数.如 284 和 220 就是一对亲密数. 分析: 若要找出 ...

  10. PAT 到底买不买

    小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...