首先更正一个小白很普遍的错误观点,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. 基于nodejs+express+mysql+webstorm+html的 增删改查

    一.工具准备 Nodejs框架,WebStorm.Mysql服务.Navicat.此篇文章只讲项目的搭建过程,至于Nodejs,WebStorm.Mysql的下载.安装与配置网上资源很多,请自行查阅, ...

  2. HTML静态页面项目:英雄联盟官网网站 的实现

    效果: 源码与素材:链接: https://pan.baidu.com/s/1OuJd1lfEV7mrnf0I6FXm4A 提取码: 5c6j 复制这段内容后打开百度网盘手机App,操作更方便哦

  3. Redis 入门到分布式 (五) Redis持久化的取舍和选择

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) Redis持久化的取舍和选择 持久化的作用 RDB AOF RDB和AOF的选择 一.持久化的作用   ...

  4. Java实现 LeetCode 598 范围求和 II(最小值相乘)

    598. 范围求和 II 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作. 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义 ...

  5. Java实现 LeetCode 118 杨辉三角

    118. 杨辉三角 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5 输出: [ [1], [1,1], ...

  6. Java实现 LeetCode 94 二叉树的中序遍历

    94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? / ...

  7. java实现蓝桥杯密码脱落

    一 问题描述 X星球的考古学家发现了一批古代留下来的密码. 这些密码是由A.B.C.D 四种植物的种子串成的序列. 仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串). 由于年代久远 ...

  8. 【JAVA习题十九】利用递归方法求5!。

    package erase; public class 用递归法求5的阶乘 { public static void main(String[] args) { // TODO Auto-genera ...

  9. 在WinForms里嵌入MediaPlayer的一些版本问题, tlbimp导入, 以及不导入而纯用C#+字符串来动态调用.

    网上很多写使用WindowsMediaPlayer WMP控件的文章. 大多数都是从工具栏或COM导入. 最近正在做的CEF整合Asp.Net Core Blazor server side的过程中, ...

  10. JFinal 源码解析-MVC部分

    首先从请求入口看起,应用初始化时加载web.xml的JFinalFilter,和configClass 从这段配置可以看出jfinal和spring mvc入口类似,通过一个实现Servlet Fil ...