Dnsmap安装及基本用法

admin 2026-02-02 00:47:04 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了DNS子域名枚举工具dnsmap的安装与使用。通过安装EPEL仓库部署工具,演示了结合SecLists字典扫描目标域名以发现子域名和IP的过程。文章详细讲解了设置线程数、查询延迟及结果保存的参数配置,旨在辅助渗透测试信息收集阶段高效梳理网络资产。 综合评分: 82 文章分类: 渗透测试,WEB安全,安全工具


cover_image

Dnsmap安装及基本用法

原创

dcnb dcnb

Web安全基础与实践

2026年1月30日 20:30 广东

dnsmap是一款轻量型 DNS 子域名枚举工具,主要用于探测目标域名下的子域名及对应的 IP 地址。它通过字典暴力枚举的方式,尝试匹配目标域名下的子域名,并返回这些子域名对应的 IP,帮助梳理目标的网络资产范围。因此,常被安全人员用于渗透测试的信息收集阶段。

1、安装

以下内容以CentOS7攻击机扫描Windows7靶机为例进行演示。

进入到Linnux系统后,首先需要安装EPEL仓库:

yum install epel-release -y

EPEL (Extra Packages for Enterprise Linux)中包含了很多CentOS 默认仓库中没有的额外软件包,dnsmap就在其中,具体如图1所示。

图1  安装EPEL

当出现“lastes version”则代表EPEL安装成功。

接着,开始安装dnsmap:(其中,-y的作用是自动将交互式回答定为“yes”,避免了手动输入和回车确认的操作)

  yum install dnsmap -y

返回的结果如图2所示,当观察到“comlete!”字样,则说明安装成功。

图2  安装dnsmap

另外,可以查看dnsmap的版本号以检查是否安装成功。当出现版本号,则证明dnsmap成功安装,具体如图3所示。

dns --help

图3  验证dnsmap是否安装

2、常用操作

基本语法:

dnsmap&nbsp;<目标域名>&nbsp;[选项]

其中,选项的具体内容如表1所示。

表1 选项的具体内容

| | | | | — | — | — | | 选项 | 含义 | 示例 | | -w <文件路径> | 使用自定义字典文件 | -w/path/to/wordlist.txt | | -r | 设置扫描的线程数 | -r 8 | | -c <文件路径> | 将结果保存为CSV格式文件 | -c results.csv | | -d <毫秒数> | 设置DNS查询间的延迟(防检测) | -d 1000(1秒延迟) | | -i | 使用指定的DNS服务器 | -i 8.8.8.8 | | –o  | 将扫描结果保存到指定文件 | -o results.txt |

2.1 下载查找字典

Dnsmap需要根据所给字典进行搜索子域名,当没有指定字典所在文件路径时,Dnsmap默认使用内置的字典进行扫描。Dnsmap内置字典有约1000个关键词,是 “轻量级基础库”,由于其词汇不再进行更新,我们在渗透测试中常常自定义查找字典。这里我们给出渗透测试时常用的查找字典:

Git&nbsp;clone&nbsp;https://github.com/danielmiessler/SecLists.git

稍等片刻,当观察到“checking out files”步骤完成时,则字典SecLists已经完成安装,成功创建了SecLists文件夹,具体如图4所示。

图4  下载SecLists字典

我们也可以观察是否成功进入SecLists文件夹来判断是否安装成功。

cd&nbsp;SecLists

输入上述代码段,观察到成功进入到SecLists文件夹,因此该字典下载成功,如图5所示。

图5  验证SecLists字典是否成功安装

2.2 搜索指定域名的子域名

为了使用我们下载的SecLists字典,我们需要先进入到其所在的目录下,具体如图6所示。

图6  进入SecLists所在的文件夹

当进入到SecLists所在的文件夹后,我们开始扫描指定域名下的子域名。这里我们以github.com作为例子。输入以下内容:

dnsmap&nbsp;github.com -w subdomains-top1million-5000.txt

其中,subdomains-top1million-5000.txt是SecLists 字典库中最常用的子域名字典之一,它包含了出现频率最高的前 5000 个子域名关键词(比如admin、mail、api、dev等)。使用这个字典,能够明显提高查找速率和命中率。等待片刻后,开始出现查找到的子域名,如图7所示。可以观察到,输出的结果都以“子域名+IP地址”的形式出现。

图7  查找到的子域名(部分)

2.3 设置扫描线程数

为了避免目标域名的权威DNS 服务器判定为恶意高频请求,导致所有请求被拒绝,我们需要降低扫描线程数;为了提高扫描速率,我们可以提高线程数。线程数推荐在8-16之间,过高还会导致本地网络 / ISP 拦截高频 DNS 请求,出现超时、重试,反而大幅降低扫描效率。其中,设置扫描线程数的格式如下:

-r <threads> &nbsp;&nbsp;#threads为用户设置的线程数

我们可以输入以下代码块,可以明显观察到回显的速度变快。

dnsmap&nbsp;github.com -w subdomains-top1million-5000.txt -r&nbsp;8

2.4 设置延迟参数

在dnsmap扫描过程中,设置不同的延迟参数能够有效避免被目标域名的权威 DNS 服务器或本地网络运营商判定为 恶意高频请求,因此经常被使用于扫描的过程中。一般格式如下:

dnsmap&nbsp;<目标域名>&nbsp;-w&nbsp;<字典路径>&nbsp;-d&nbsp;<延迟数值>&nbsp;-o&nbsp;<结果文件名>

当输入“-d 50”时,表示每发送一次子域名查询请求后,等待 50 毫秒再发送下一次请求。

2.5 保存搜索到的子域名

为了方便查阅,我们通常将扫描到的子域名保存为.txt文件进行查看,因此,我们用“–o ”的格式保存搜索到的子域名。这里我们以“github.com”作为例子。

dnsmap github.com&nbsp;-w subdomains-top1million-5000.txt&nbsp;-d&nbsp;10&nbsp;-r&nbsp;result.txt

输入上述内容后,则会将扫描到的子域名保存在“SecLists/Discovery/DNS”路径下、名为“result.txt”的文件中,扫描过程如图8所示。

图8  扫描到的子域名

可以输入“ls”,以查看“result.txt”文件是否存在,如图9所示。

图9  检查result.txt是否创建

可以看到,在当前路径下,result.txt文件存在,说明dnsmap已经创建了.txt文件,并且将扫描到的子域名保存至其中。

输入以下内容,查看.txt文件中含有的子域名:

cat&nbsp;result.txt

文本文件包含的内容如图10所示。可以看到,文本文件包含的内容与图8扫描到的内容一致。

图10  result.txt包含的内容

本文由周俊旭同学投稿。

  • END –

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Web安全基础与实践 dcnb dcnb《Dnsmap安装及基本用法》

LDAP注入原理及防御 网络安全文章

LDAP注入原理及防御

文章总结: 文章深入解析LDAP注入原理,涵盖树形结构、查询语法及AND/OR/盲注攻击手法。通过PentesterLab靶场演示利用通配符与过滤器闭合绕过认证
Snort安装及基本用法 网络安全文章

Snort安装及基本用法

文章总结: 本文档详述了在CentOS7环境下安装与配置开源入侵检测系统Snort的过程。内容包括前置准备、组件安装、配置文件修改、自定义ICMP规则编写及功能
评论:0   参与:  0