DNS 分析神器:dnsenum 保姆级教程(附链接)

一、介绍

dnsenum 是一款用于执行域名枚举和信息收集的开源工具。它主要用于收集与目标域名相关的信息,包括子域名、主机记录、MX 记录等。dnsenum 使用了多种技术和查询方法,通过枚举 DNS 信息,帮助渗透测试人员、安全研究人员和系统管理员更好地了解目标。

以下是 dnsenum 的一些主要特点和用法:

  1. 子域名枚举: dnsenum 可以通过字典爆破的方式,尝试枚举目标域的子域名。

  2. 主机记录信息: 工具还可以获取目标域名的主机记录信息,包括各个主机的 IP 地址。

  3. MX 记录枚举: dnsenum 可以获取目标域名的邮件服务器 (MX) 记录。

  4. 域名服务器信息: 工具可以收集目标域名的域名服务器信息。

  5. 区域传输检测: dnsenum 可以检测目标域名是否允许进行 DNS 区域传输,这是一种常见的信息泄露漏洞。

  6. WHOIS 信息: 工具可以提供目标域名的 WHOIS 信息,包括注册人、注册机构等。

二、安装 dnsenum

Kail Linux 默认安装了 dnsenum,所以只需安装 Kail Linux 即可使用。若没有可以参考下篇文章进行安装

如何在 VM 虚拟机中安装 Kail Linux 2023.4 操作系统保姆级教程(附链接)icon-default.png?t=N7T8https://eclecticism.blog.csdn.net/article/details/135864762

三、使用 dnsenum

3.1 参数详解

# 通用选项:
--dnsserver <server>        使用指定的 DNS 服务器进行 A、NS 和 MX 查询。
--enum                     等同于 --threads 5 -s 15 -w 的快捷选项。
-h, --help                 打印帮助信息。
--noreverse                跳过反向查找操作。
--nocolor                  禁用 ANSI 颜色输出。
--private                  在文件 domain_ips.txt 的末尾显示并保存私有 IP 地址。
--subfile <file>           将所有有效子域名写入此文件。
-t, --timeout <value>      TCP 和 UDP 超时值,以秒为单位(默认为 10 秒)。
--threads <value>          执行不同查询的线程数。
-v, --verbose              详细输出,显示所有进度和错误消息。

# Google 抓取选项:
-p, --pages <value>        从 Google 抓取域名时要处理的搜索页面数,默认为 5 页,必须指定 -s 开关。
-s, --scrap <value>        从 Google 抓取的子域名的最大数量(默认为 15)。

# 暴力破解选项:
-f, --file <file>          从此文件中读取子域名以执行暴力破解。(优先于默认的 dns.txt)
-u, --update <a|g|r|z>     使用有效的子域名更新使用 -f 开关指定的文件。
                           a (all):使用所有结果进行更新。
                           g:仅使用 Google 抓取的结果进行更新。
                           r:仅使用反向查找的结果进行更新。
                           z:仅使用区域传输的结果进行更新。
-r, --recursion            对子域进行递归,对所有具有 NS 记录的发现的子域进行暴力破解。

# WHOIS 网段选项:
-d, --delay <value>        在 whois 查询之间等待的最大秒数,该值被随机定义,默认为 3 秒。
-w, --whois                对 C 类网络范围执行 whois 查询。
                           警告:这可能生成非常大的网络范围,执行反向查找将花费很长时间。

# 反向查找选项:
-e, --exclude <regexp>     从反向查找结果中排除与正则表达式匹配的 PTR 记录,对于无效的主机名非常有用。

# 输出选项:
-o --output <file>         以 XML 格式输出。可以导入 MagicTree(www.gremwell.com)。

 3.2 入门案例

dnsenum example.com

3.3 指定 DNS 服务器

dnsenum --dnsserver 8.8.8.8 example.com 

3.4 Google 抓取

dnsenum -s 10 -p 30 example.com 

3.5 暴力破解

dnsenum -f subdomains.txt example.com 

3.6 递归暴力破解

dnsenum -r example.com 

3.7 Whois 网段查询

dnsenum -w -d 5 example.com

3.8 输出到文件

dnsenum -o output.xml example.com 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-16 15:30:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-16 15:30:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-16 15:30:03       87 阅读
  4. Python语言-面向对象

    2024-02-16 15:30:03       96 阅读

热门阅读

  1. makefile使用

    2024-02-16 15:30:03       46 阅读
  2. redis中key到了过期时间怎么删除

    2024-02-16 15:30:03       61 阅读
  3. Node.js开发-包管理工具

    2024-02-16 15:30:03       59 阅读
  4. LeetCode 31天

    2024-02-16 15:30:03       59 阅读
  5. Mysql学习笔记

    2024-02-16 15:30:03       48 阅读
  6. Redis 的 SETNX

    2024-02-16 15:30:03       48 阅读
  7. PointMixer论文阅读笔记

    2024-02-16 15:30:03       61 阅读
  8. Rust基础拾遗--并发和异步编程

    2024-02-16 15:30:03       48 阅读
  9. Vue路由的传参

    2024-02-16 15:30:03       52 阅读