前面学习一下DNS域名解析原理及过程,今天我们学习下DNS域名信息的探测

本章主要目标是从各个角度搜集测试目标的基本信息,包括搜集信息的途径、各种工具的使用方法,以及简单的示例。

0x00 DNS信息有哪些

学习了DNS基本知识,其实也大概就知道有哪些信息了

1)ip

2)域名注册信息

3)DNS记录

4)DNS服务器

5)子域

下面就介绍如何收集这些信息吧

0x01 DNS信息之IP

ping 域名

比如查iprezi.cn

直接 ping iprezi.cn

可以看到 iprezi.cn 对应的 ip 是47.92.64.72

这样就得到这个域名的ip了,这就是DNS的功能,解析域名以得到对应的ip地址

绕过CDN找真实IP

一般情况是可以这样的域名对应的ip的,但是如果目标使用的CDN(内容分发网络)

这里简单介绍一下CDN

CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

网上介绍了很多找真实ip的方法,其实了解了CDN的原理后,如果CDN做得比较好,很难找到真实ip的,收集了一些方法大家参考一下

0x01 DNS信息之域名注册信息

Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、域名注册日期和过期日期等)。通过域名Whois服务器查询,可以查询域名归属者联系方式,以及注册和到期时间

方法1:提供域名信息查询的站点

可以上搜索引擎上搜索一下

站长之家

方法2:whois命令

whois是Linux/Unix环境下的命令,按字面意思就是问“他是谁?”,通过对域名的检索, 可以反馈回域名的注册信息,包括持有人,管理资料以及技术联络资料, 也包括该域名的域名服务器。但是在世界上有几个主要的whois服务器,它们是 whois.RIPE.net、whois.LACNIC.net、whois.APNIC.net、whois.ARIN.net,分别在各大洲
whois [-pot] domainname

0x02 DNS信息之DNS记录

下面说一下比较常见一些记录信息

A/AAAA、CNAME、MX、NS、TXT、SPF
下面挨个介绍一下。

A记录/AAAA记录

IPv4:
  • 示例:ns1.exmaple.com. IN A 198.51.100.2
  • 解释:【domain】 IN A 【IP地址】
IPv6:
  • 示例:ns1.exmaple.com. IN AAAA 8fe0::8f61:ac8:30cd:a16e
  • 解释:【domain】 IN AAAA 【IP地址】
    ※IN的意思是「Internet」,不是IN/OUT的「IN」。
干什么用呢?

我们在浏览器输入域名后,需要向DNS服务器请求,找到这个域名对应的服务器IP。上面示例就是这么一条记录。
虽然域名和IP都可以变更,但是相比来说域名变更更加简单和随意。所以当网站更换自己域名的时候,就需要修改这条记录。

CNAME

  • 示例:sub.example.com. IN CNAME hoge.example.com.
  • 解释:【別名】 IN CNAME 【原名】
干什么用呢?

给某一个domain起多个名字。
类似于,jd.com,jd360.com,jingdong.com虽然是不同名字的域名,但是可以指向同一个原名jd.com。可以让企业的对外展示更加灵活。
举例:
jd360.com IN CNAME jd.com
jingdong.com IN CNAME jd.com
jd.com IN A 123.123.123.123 (这条是A记录例子)

MX记录

  • MX记录(Mail Exchange):邮件路由记录
    在DNS上设定,用于将邮箱地址@符号后的域名指向邮件服务器。
  • 示例:example.com. IN MX 10 mail.example.com.
  • 解释:【domain】 IN MX 【优先度】 【邮件服务器】
干什么用呢?

当发信侧服务器给受信侧发邮件时,首先会要求DNS服务器解析受信侧邮箱地址中@后面部分的域名对应的MX记录(DNS的写法可以理解成example.com 的A记录下面,有一行上面示例的MX记录,当然邮箱服务器也有对应的A记录)。
这样,邮件就直接发到对应的MX记录的A记录里的IP了。
例子:给test@exmaple.com发邮件的话,
DNS会返回给发信侧198.51.100.3这个IP

exmaple.com. IN A 198.51.100.2
example.com. IN MX 10 mail.example.com.
mail.example.com. IN A 198.51.100.3

※如果是普通用户通过【exmaple.com】浏览主页,那么DNS继续返回 198.51.100.2 。这个其实也需要DNS判断请求服务器是邮件服务器还是普通的访问。

NS记录

  • 指定域名解析服务器。
  • 示例:example.com. IN NS ns1.example.com.
  • 解释:【domain】 IN NS 【DNS服务器】
干什么用呢?

指定该域名由哪个DNS服务器来进行解析。

TXT记录

  • 示例:ns1.exmaple.com. IN TXT "联系电话:XXXX"
  • 解释:【domain】 IN TXT 【任意字符串】
干什么用呢?

一般指某个主机名或域名的说明,或者联系方式,或者标注提醒等等。

SPF记录

SPF记录是TXT记录的一个运用。后面的备注需要按照指定的格式才能有效。

  • 示例:exmaple.com. IN TXT "v=spf1 ip4:198.51.100.1 ~all"
  • 解释:【domain】 IN TXT 【送信侧邮件服务器确认规则】
干什么用呢?

从发信侧服务器设定到DNS上的这条记录中,读取信息,判断发信侧是否合法。
如果不符合规则,那么按照约定的规则处理掉。
跟MX记录正好相反。
MX:我是收件服务器,你找我时,请参考我设定到DNS服务器上的MX记录。
SPF:我是发信服务器,你接受邮件时,请参考我设定到DNS服务器上SPF规则。如果不是我发的信,你可以删掉或者接收。

SPF记录规则
  1. 格式:
    版本 空格 定义 空格 定义 (空格 定义的循环)
    跟着例子看的话,比较好理解。
    example.com. IN SPF "v=spf1 ip4:192.0.2.1 -all"

    • v=spf1 是版本。只出现一次。
    • ip4:192.0.2.1 第一个定义
    • -all 第二个定义
  2. 定义的格式。

    • 种类
      | all | ip4 | ip6 | a | mx | ptr | exists | include|
    • 前缀
      "+" Pass(通过)
      "-" Fail(拒绝)
      "~" Soft Fail(软拒绝)
      "?" Neutral(中立)
  3. 定义测试
    测试时,将从前往后依次测试每个定义。
    如果一个定义命中了要查询的 IP 地址,则由相应定义的前缀决定怎么处理。默认的前缀为+。
    如果测试完所有的 定义也没有命中,则结果为 Neutral。
    结果及处理方法一览

结果 说明 服务器处理办法
Pass 发件IP是合法的 接受来信
Fail 发件 IP 是非法的 退信
Soft Fail 发件 IP 非法,但是不采取强硬措施 接受来信,但是做标记
Neutral SPF 记录中没有关于发件 IP 是否合法的信息 接受来信
None 服务器没有设定 SPF 记录 接受来信
PermError 发生了严重错误(例如 SPF 记录语法错误) 没有规定
TempError 发生了临时错误(例如 DNS 查询失败) 接受或拒绝

方法1:nslookup

nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。

基本使用方法

nslookup [-pot] domain [dns-server]

查询dns记录

nslookup -qt=type domain [dns-server]

  • 其中,type可以是以下这些类型:
  • A 地址记录
  • AAAA 地址记录
  • AFSDB Andrew文件系统数据库服务器记录
  • ATMA ATM地址记录
  • CNAME 别名记录
  • HINFO 硬件配置记录,包括CPU、操作系统信息
  • ISDN 域名对应的ISDN号码
  • MB 存放指定邮箱的服务器
  • MG 邮件组记录
  • MINFO 邮件组和邮箱的信息记录
  • MR 改名的邮箱记录
  • MX 邮件服务器记录
  • NS 名字服务器记录
  • PTR 反向记录
  • RP 负责人记录
  • RT 路由穿透记录
  • SRV TCP服务器信息记录
  • TXT 域名对应的文本信息
  • X25 域名对应的X.25地址记录

方法2:host

Host指令提供一个简单的DNS解析的功能。正常地使用名称到IP的解析,当指令没有任何参数和选项的时候,它将输出简单的带命令行参数和选项的概要。

linux系统自带host指令,下面是查询dns服务器的命令

host -t type domainname

type同nslookup的

方法3:dig

Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具,详细使用方法

dig +short type cnblogs.com

type同nslookup的

0x03 DNS信息之DNS服务器

方法1:host

Host指令提供一个简单的DNS解析的功能。正常地使用名称到IP的解析,当指令没有任何参数和选项的时候,它将输出简单的带命令行参数和选项的概要。

linux系统自带host指令,下面是查询dns服务器的命令

host -t ns domainname

方法2:whois

提供whois查询的站点很多 google“whois”,你可以得到这些站点,下面是站长之家

0x04 DNS信息之子域

对子域名的爆破几乎是了解和扩大一个目标范围最直接的方式,其质量取决于爆破的字典。

有很多爆破的工具,比如

subbrutehttps://github.com/TheRook/subbrute/releases
Sublist3rhttps://github.com/aboul3la/Sublist3r

参考资料

链接:https://blog.csdn.net/MONKEY_D_MENG/article/details/6173083

链接:https://www.cnblogs.com/daxian2012/archive/2013/01/10/2854126.html

链接:https://www.4hou.com/technology/11782.html

DNS信息探测的更多相关文章

  1. 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 ...

  2. wooyun内网渗透教学分享之内网信息探测和后渗透准备

    常规的,从web业务撕开口子url:bit.tcl.comgetshell很简单,phpcms的,一个Phpcms V9 uc api SQL的老洞直接getshell,拿到shell,权限很高,sy ...

  3. ubuntu 永久设置dns信息

    ubuntu 自从12.04后,会自动刷写 /etc/resolv.conf 文件,导致写入的dns信息会在重启的时候丢失. ============================ 转自:http: ...

  4. kali linux 一些工具及命令集1(搜集DNS信息)

    DNS信息收集 1.dnsdict6   用于查看ipv6的dns信息,国内很少ipv6,基本无用 2.dnsmap 收集dns信息,同类别还有dnsenum,dnswalk 使用dnsmap需先找到 ...

  5. 【渗透课程】第四篇-Web安全之信息探测

    Web之信息探测,从这篇开始就正式进入了Web渗透实战过程了,嗯,前面都是讲基础,下面我们来讲Web中的信息探测. 信息探测,主要的目的 收集目标服务器系统信息(IP,服务器所用系统等) 收集目标网站 ...

  6. Kali学习笔记4:DNS信息收集

    DNS记录 A记录 A记录是用来创建到IP地址的记录. A记录设置技巧 1.如果想创建不带www的记录,即cnblog.com,在主机记录中填写@或者留空,不同的注册商可能不一样. 2.创建多个域名到 ...

  7. DNS信息收集命令nslookup

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

  8. linux nslookup-查询域名DNS信息的工具

    博主推荐:更多网络测试相关命令关注 网络测试  收藏linux命令大全 nslookup命令是常用域名查询工具,就是查DNS信息用的命令. nslookup4有两种工作模式,即“交互模式”和“非交互模 ...

  9. Linux kali信息探测以及 Nmap 初体验

    Nmap是一个开源的网络连接端口扫描软件(内置于kali中) 打开Nmap: > nmap 打开桌面化Nmap——zenmap: > zenmap Nmap支持多种扫描方式,用法简单,参数 ...

随机推荐

  1. java源码-Semaphore源码分析

    Semaphore内部Sync对象同样也是继承AQS,跟Reentrant一样有公平锁跟非公平锁区分,但是Semaphore是基于共享锁开发,Reentrant是基于独占锁开发.主要就是初始化Sema ...

  2. UITableView的使用总结

    直接贴代码了,很好理解,注释很全,一看就懂...... // // ViewController.m // TableViewSectionTitleDemo // // Created by 思 彭 ...

  3. 【AMAD】python-goose -- HTML Content/Article 提取器

    动机 简介 用法 个人评分 动机 新闻网页,结构大多是类似的. 所以,能不能用一种通用的爬取方法来提取其中的数据? 简介 Goose最初是一个Java项目,在2011年被转为了scala项目1. Py ...

  4. Leetcode之广度优先搜索(BFS)专题-773. 滑动谜题(Sliding Puzzle)

    Leetcode之广度优先搜索(BFS)专题-773. 滑动谜题(Sliding Puzzle) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ary ...

  5. 一加手机刷入第三方Rec

    首先阐述一下刷机的整体流程: 备份数据(可选):短信.联系人.通话记录.图片.应用数据的云端同步. 解锁 刷入第三方Recovery(简称Rec). 进入第三方Rec,刷第三方ROM. 刷机成功 解锁 ...

  6. so的封装和使用

    背景 在linux平台下,要实现函数的封装,一般采用的是so动态库的形式 实现了函数的封装就意味着实现过程的隐藏 可以实现跨平台和跨语言的使用 实施步骤 生成so动态库 编写相应的c文件代码,实现函数 ...

  7. (5.7)mysql高可用系列——MySQL中的GTID复制(理论篇)【转】

    转自:https://blog.csdn.net/wmq880204/article/details/53160078 一.GTID的概述: 1.全局事物标识:global transaction i ...

  8. (public丶private丶protected) 的理解

    public(公有):公有的类成员可以在任何地方被访问. protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问. private(私有):私有的类成员则只能被其定义所在的类访 ...

  9. CentOS 7 配置 kcptun 实现网站加速

    目的:shadowsocks+kcptun 实现vpn加速(shadowsocks,kcptun在同一台VPS上) 一.shadowsocks安装(参考  https://www.cnblogs.co ...

  10. 数据库索引 B+树

    问题1.数据库为什么要设计索引?索引类似书本目录,用于提升数据库查找速度.问题2.哈希(hash)比树(tree)更快,索引结构为什么要设计成树型?加快查找速度的数据结构,常见的有两类:(1)哈希,例 ...