子域名挖掘机实战:从DNS爆破到资产梳理的完整流程
简介Layer子域名挖掘机4.2纪念版是一款集成多种数据源的子域名发现工具面向网络安全研究人员、渗透测试人员及企业安全运维人员用于快速定位目标主域名关联的子域名识别潜在暴露面。该工具整合DNS记录、WHOIS信息、互联网爬虫结果等数据并进行智能匹配可有效提升子域名发现效率降低误报漏报扫描结果会列出子域名对应的解析IP、SSL证书等信息便于结合漏洞扫描和指纹识别开展深入测试。在渗透测试中未公开子域名常被攻击者作为切入点及时梳理这些资产有助于防范钓鱼、数据泄露等风险。资源包为zip压缩格式共5个文件包含exe主程序、dll依赖库、txt字典文件及xml配置整体仅4MB轻量易用。目前已有714人下载学习。工具还支持自定义字典、批量扫描多域名、结果筛选导出等操作能帮助安全人员在大量子域名中快速锁定风险目标适合日常渗透测试与资产盘点场景。1. 子域名挖掘机最省事的子域名拼图工具做资产梳理时最烦躁的不是主站而是散落在各处的一堆子域。某次安全评估对方只给了一个主域说要摸清暴露面我翻了半天 DNS 记录、查了一堆证书日志才凑出十几个二级域名。后来换了子域名挖掘机 4.2 纪念版这类工具一条命令把字典爆破、接口枚举、解析验证串起来几分钟就能出一份子域清单。它本质上是个批量枚举器用内置的常见子域字典去撞 DNS 记录同时拉取多个公开数据源把结果自动去重、按 IP 归类输出。适合做授权渗透测试、资产盘点、SRC 漏洞挖掘前的信息收集也适合运维排查自己名下有没有被遗忘的测试系统。注意它只是个工具别拿去打未授权的目标这点后面还会反复提。2. 把子域名挖掘机跑起来三层数据来源与结果文件2.1 三层的含义字典爆破、接口枚举、解析验证子域名挖掘的结果好坏取决于数据从哪来。第一层是字典爆破用一份预设的常见子域名字典逐个拼接然后做 DNS 解析比如mail.example.com、vpn.example.com。第二层是接口枚举从各类证书透明度日志、DNS 数据集拉取历史记录这一层不需要爆破直接请求接口就能拿到一批现成的域名。第三层是解析验证把所有候选域名做真实 DNS 查询筛掉解析失败的再按 IP 分组。这三个层面加起来才是一份能用的子域清单。只跑字典会漏掉大量真实存在的子域只拉接口也会漏掉那些没被公开收录的内部系统。所以工具默认的做法是先把接口结果拿回来再用字典去补漏最后统一做解析验证。2.2 命令行参数与输出字段我用的这版主程序支持命令行方式跑起来很直接。示例命令如下layer -d example.com -w subdomains.txt -t 50 -o result.csv参数含义逐一说清-d指定目标主域只填根域名不用填www。-w指定字典文件路径默认字典在dict/目录下也可以换自己的字典。-t控制 DNS 爆破的线程数我一般先用 50 试水网络状况好再往上加。-o输出结果文件支持 CSV 格式。跑完以后打开result.csv里面每行是一个子域字段大致包含域名、解析 IP、数据来源。来源列会标注是接口命中还是字典爆破命中这个信息很重要——接口命中的大概率是公网可访问的资产字典爆破命中的则需要你再手动确认一下是否真的在用。2.3 先拿模拟项目X试手第一次用别急着上生产环境目标我建议拿自己的测试域或者某模拟项目X的域名练手。我的习惯是先在dict/里放一个只有几十条词的小字典专门验证流程通不通。比如我建了一个test.txt里面只有dev、test、staging、api、admin这几个词然后跑layer -d example.com -w test.txt -t 20 -o test_result.csv跑完以后打开 CSV 确认几件事结果文件是否正常生成、每行字段是否完整、解析失败的记录有没有被剔除。这一步走通以后再换全量字典跑真实目标。这里有个容易忽略的点工具默认会过滤掉泛解析结果。泛解析指的是*.example.com这类通配符记录它会把任意子域都解析到同一个 IP如果不过滤字典里随便一个不存在的词也会被当成有效子域结果文件会膨胀得很离谱。第一次跑的时候我专门用一个泛解析域名试过确认输出里确实没有把那些假域名收进来才敢拿它处理真实项目。3. 命中率是配置出来的字典、线程与接口调度3.1 默认字典为什么总漏子域名挖掘机自带的字典覆盖了大部分常见词但它是个通用字典对具体业务场景不敏感。某次做某跨平台系统的资产盘点默认字典跑完只出了十几个子域后来我手工翻了对方官网的招聘页面和帮助中心发现它们内部习惯用cloud、sync、mobi、openapi这些词做子域前缀默认字典里根本没有。所以拿到一个新目标我会先花十几分钟做一次人工词表收集打开目标官网看导航栏里的链接、看页面源码里的静态资源域名、看招聘信息里提到的内部系统。把这些词记下来追加到字典最前面再跑一次。这个习惯让我的命中率提升非常明显默认字典适合广撒网自定义词表才是精准捕捞。字典文件格式很简单每行一个词不要带域名后缀。追加时用文本编辑器直接改或者用命令echo cloud mydict.txt echo sync mydict.txt layer -d example.com -w mydict.txt -t 50 -o enrich_result.csv追加完以后再看结果cloud.example.com、sync.example.com这些通常会出现在爆破命中的列表里。这类域名往往关联着实际业务系统价值比跑出几百个随机组合要高得多。3.2 线程数与请求延时怎么搭配线程数直接决定跑完一轮要多久但调太高容易出问题。常见现象是跑到一半结果文件里开始出现大量超时记录甚至整个程序卡住不动。原因很简单DNS 请求被目标 DNS 服务器限流或者本地网络连接数打满了。我一般在-t 30到-t 100之间调节。目标域名解析速度快、本地网络稳定就开高一点解析慢或者网络波动明显就降到 50 以下。另外关注下程序是否内置请求延时参数如果有-delay之类的选项我通常会设一个 100ms 到 300ms 的延迟让请求节奏更接近人工操作不容易触发限流。还有一个容易忽略的地方线程数影响的不只是速度还影响结果完整性。线程开太高部分请求超时后工具可能直接跳过这些子域就永远跑不出来了。所以求稳的话我宁愿多等几分钟也不把线程拉到极限。3.3 接口源与超时重试子域名挖掘机拉取接口时默认会请求多个数据源。不同接口的稳定性差别很大有的接口响应慢有的接口需要额外参数。程序一般会内置超时判断和自动重试但重试次数默认不高遇到网络波动很容易丢数据。我的做法是先跑一遍接口模式看看结果数量是否符合预期。比如某目标接口模式跑出来只有二十几条记录而证书透明度日志里明显能看到更多那就说明可能有接口请求失败了。这时手动干预一下把超时时间调长或者加大重试次数。如果你用的版本支持指定接口源我建议按需精简。内网资产较多的目标用证书日志类的接口效果更好公网业务较多的目标DNS 数据集类接口覆盖更全。接口源不用全开全开反而会拉回大量重复和过期数据去重过程还可能把有用的记录误删。4. 从子域到资产去重、存活探测与辅助工具搭配4.1 二级域跑完别急着收工子域名挖掘机默认只跑目标主域下的二级域名但很多大业务系统会把子域再往下分一层。比如api.example.com下面还有v1.api.example.com这种三级域名的信息量往往更大直接指向具体服务。所以我一般会做两轮挖掘。第一轮跑主域拿到二级域名清单第二轮把二级域名当作“主域”再跑一遍注意控制递归层数不无限往下钻否则结果文件会爆炸。命令大致是这样layer -d api.example.com -w mydict.txt -t 50 -o third_level.csv这一轮跑完把third_level.csv里的结果合并到总表里继续做去重和排序。有一个实际感受大部分真实漏洞都藏在这种多级子域里主站防护强子站往往被遗忘暴露面反而更大。4.2 去重与按 IP 归并多轮跑完以后结果文件里会堆满重复记录。同一个子域可能接口命中一次、字典爆破命中一次来源列不同但域名相同。手工去重太累了我一般用脚本处理按域名做唯一化再按 IP 归并sort result_all.csv | awk -F, !seen[$1] {print $0} deduped.csv这条命令的逻辑是按第一列域名排序用awk维护一个已见过的域名集合第一次出现的记录才输出。去重以后再看 IP 列这一步能快速找出哪些子域指向同一个服务器。大量子域指向同一个 IP要么是泛解析要么是多个虚拟主机共用一台机器子域分散在不同 IP说明业务系统确实做了水平拆分。再往下走一步我会把结果导出成纯域名列表丢给其他工具做端口扫描和指纹识别。举个例子cut -d, -f1 deduped.csv targets.txt拿到targets.txt以后后面接什么扫描器就看具体项目了。这一步是承上启下子域名挖掘只解决“有哪些域名”不解决“这些域名上有哪些服务”。4.3 用脚本做存活探测解析成功不代表 HTTP 服务存活。有时候子域解析到了 IP但对应的 Web 服务早就下架了或者只开了 FTP 端口。我在处理某图像处理 Demo 的资产时就用下面这段 Python 脚本做批量存活探测import requests with open(targets.txt) as f: domains [line.strip() for line in f] alive [] for domain in domains: for scheme in (https, http): try: r requests.get(f{scheme}://{domain}, timeout5, allow_redirectsFalse) alive.append((domain, r.status_code, r.headers.get(server, ))) break except requests.RequestException: continue for item in alive: print(item)逻辑说明对每个域名依次尝试 HTTPS 和 HTTP请求超时设为 5 秒不自动跟随重定向只拿第一跳的响应码和 Server 头。能拿到响应的域名记为存活。这个脚本比较粗但足够筛掉大部分死域名把后续真正需要人工看的范围缩到很小。参数方面timeout5是合理的底线内网目标可以放宽到 10 秒公网目标 5 秒没问题。allow_redirectsFalse是有意的重定向会让结果页面变成默认页干扰判断。server头是顺带收集的指纹信息方便下一步识别中间件类型。5. 避坑子域名挖掘里最容易翻车的五个场景5.1 泛解析刷出大量假域名现象结果文件里突然冒出几百上千个子域而且这些子域解析到的 IP 完全一样部分域名拼写非常奇怪比如abcdef123.example.com。原因目标域配置了*.example.com的泛解析记录。这种配置在云服务商里很常见用来做默认页兜底。工具默认有过滤逻辑但如果字典里含特殊字符或者目标 DNS 返回的 TTL 异常过滤可能会失效。解决跑完后用脚本按 IP 聚类遇到一个 IP 对应几十个域名的情况先摘出来手动确认。确认是泛解析后这批域名直接从结果里剔除。我一般把泛解析目标单独保存后续再跑时用-exclude参数排除避免反复踩坑。5.2 线程开太高被限流现象跑到一半程序输出大量timeout或者refused重试后依然失败最终结果文件比预期少了一大截。原因线程数高于目标 DNS 服务器的容忍阈值。很多公共 DNS 和内部 DNS 都有 QPS 限制一段时间内请求过多直接丢弃。注意这里不是网络问题是对方策略性限流。解决把线程数降到 30 到 50加请求延时让请求频率降下来。跑完一轮以后等几分钟再跑下一轮不要连续对同一个目标轰炸。另外留意程序是否有-retry参数有的话设置两次重试比线程硬扛更有效。5.3 只跑爆破不拉接口现象结果少得可怜自己建的业务子域一个都没出现反而是些奇怪的三级域名跑出来了。原因目标子域包含大量不太常见的词字典覆盖不到而接口数据源恰好收录了这些子域。只依赖字典等于放弃了这部分数据。解决先把接口模式跑一遍再用字典补漏最后合并去重。接口返回的结果通常带有时间戳能判断目标资产是不是还在活跃。两张表合并的结论才是完整的。5.4 把 CDN 节点当真子域现象某个子域解析出几十个 IP分布在全国各地或者集中在某几个云服务商的 IP 段。原因目标站点用了 CDN子域解析结果直接返回 CDN 节点 IP。这是正常现象但如果你把这个 IP 当源站 IP 去做进一步探测后面所有的端口扫描和指纹识别都会打在 CDN 上浪费大量时间。解决看到多个分散 IP 时先把 IP 丢进 IP 归属查询确认是不是云厂商的 CDN 段。是 CDN 的话在资产清单里标记一下后续探测优先用域名而不是 IP。5.5 字典不沉淀每次重复劳动现象同一个目标跑两遍第二遍的结果跟第一遍差不多甚至更少因为第一遍发现的词没有进字典。原因跑完之后直接删掉结果文件下一轮从零开始。这等于每次都在用默认词表碰运气没有把自己的经验积累下来。解决每跑完一轮把结果里的第三级域名拆词提取有意义的业务前缀追加回字典。这样同一个行业、同一类业务的目标第二遍跑会比第一遍快很多。6. 拿结果反哺字典让下一轮挖掘更快6.1 交叉验证域名、IP、证书三方对照挖完子域之后我会做一次交叉验证而不是直接信任结果。方法是把同一个域名丢进 DNS 查询、证书透明度检索、HTTP 响应头三个维度三方对得上才确认它“真实存在”。具体做法对结果里的每个子域分别用dig查 A 记录用在线接口查证书用 HTTP 请求看欢迎页。如果 DNS 解析正常且证书里包含了这个域名那基本确定是真实资产。如果解析正常但证书缺这个邮箱域名可能是泛解析或者裸 IP 映射备注一下即可。这一轮做下来结果文件里真正能用的子域一般会再瘦一圈剩下的都是高价值目标。6.2 拆词回填把跑出来的结果变成下一轮的字典我个人的习惯是每轮跑完以后强制做一次拆词回填基本思路是取子域名的第一个标签去掉常见前缀和后缀把剩下有意义的部分丢进字典。比如跑出来一个cloud-api-beta.example.com我会把cloud-api-beta和cloud-api都加进字典。不要小瞧这一步。同一个团队在不同项目里命名习惯高度一致这轮跑出来的词下一轮大概率还能用。我在处理某跨平台系统项目时第一轮命中率不到 5%经过几个项目的拆词回填命中率慢慢能到 20% 左右。拆词回填我一般用脚本做规则很简单按点分段取最后一段和倒数第二段长度大于 3 的才保留cut -d, -f1 deduped.csv | awk -F. {for(i1;iNF;i){if(length($i)3) print $i}} | sort -u mydict.txt这条命令把所有子域的每一段都拆出来过滤掉长度小于等于 3 的段排序去重后追加进字典。执行完以后我还会手动扫一眼mydict.txt把明显没意义的词删掉比如数字串、纯随机字母组合。从那以后我每次处理新目标都强制走一遍“爆破→接口→拆词回填”的流程字典越滚越厚新项目的第一轮结果就能覆盖到很多旧项目积累的高频词。工具只是把活干完真正让下轮更轻松的是这个闭环。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

ax调度刷屏背后:解密CEO办公室统筹协调工作的能力地图与实操指南

ax调度刷屏背后:解密CEO办公室统筹协调工作的能力地图与实操指南

1. "ax调度"突然刷屏,它到底在指什么工作最近"ax"这个词在职场相关的内容里出现频率高了不少,点进去一看,大家都在聊"ax调度"。如果你和我一样,第一反应是"这又是什么新造的黑话"&#x…

2026/10/17 9:02:29 阅读更多 →
苹果成熟度识别实战:从数据采集到CNN部署全流程解析

苹果成熟度识别实战:从数据采集到CNN部署全流程解析

1. 苹果成熟度识别:毕设选题怎么从一句话变成可落地的项目每年到了毕设开题季,都会有不少人盯着"深度学习""卷积神经网络"这类关键词,想找一个既不太难、又能体现工作量、还容易出效果的题目。苹果成熟度识别这个方向&am…

2026/10/17 9:01:29 阅读更多 →
金融微服务架构设计:基于能力域分治的financial-services落地实践

金融微服务架构设计:基于能力域分治的financial-services落地实践

1. 项目概述:这不是一个“App”,而是一套可落地的金融服务能力组装方案“financial-services”这个标题乍看像某个API文档里的命名空间,或是某家科技公司内部服务模块的代号,但在我过去十年参与过27个银行、保险、持牌消金及区域性…

2026/10/17 9:01:29 阅读更多 →

最新新闻

AI时代程序员必看:脱离大模型,你还能独立工作吗?Vibe Coding挑战与应对

AI时代程序员必看:脱离大模型,你还能独立工作吗?Vibe Coding挑战与应对

本文探讨了Vibe Coding(氛围编码)如何借助AI改变编程方式,引发对程序员核心能力的思考。文章指出,AI擅长生成代码,但复杂系统判断、风险识别仍需人类智慧。强调基础知识和底层原理的重要性,提出程序员应驾驭…

2026/10/17 13:45:46 阅读更多 →
2026年企业网盘终极对比:坚果云 vs OneDrive vs Dropbox vs 百度网盘企业版

2026年企业网盘终极对比:坚果云 vs OneDrive vs Dropbox vs 百度网盘企业版

文章目录一、企业网盘选型,为什么不能只看容量和价格?二、测评方法论:15 个维度的统一标尺2.1 测评维度定义2.2 测试环境说明三、四款产品逐一深度测评3.1 坚果云团队版 —— 专业同步盘,技术团队首选🔧 核心技术要点拆…

2026/10/17 13:45:46 阅读更多 →
新手程序员必看:3个实操任务,教你如何高效利用AI大模型提升办公效率

新手程序员必看:3个实操任务,教你如何高效利用AI大模型提升办公效率

本文介绍了如何通过三个具体任务(整理文件、汇总资料、生产公众号文章)来测试和利用AI大模型提高办公效率。文章强调了明确任务需求、设定边界条件以及验证交付物的重要性,并提供了可直接复制的提示词模板。通过这些实操步骤,即使…

2026/10/17 13:45:46 阅读更多 →
普通人也能抓住的AI高薪风口!学会这些技能,薪资翻倍不是梦

普通人也能抓住的AI高薪风口!学会这些技能,薪资翻倍不是梦

AI岗位迎来大爆发,2026年1-7月同比暴涨近8倍,平均月薪破6万。不再是顶尖技术人才专属,运营、文案等普通岗位也能结合AI提效。普通人只需学会借助AI工具优化工作,即可快速提升竞争力,实现薪资翻倍。抓住AI风口&#xff…

2026/10/17 13:45:46 阅读更多 →
C# OpenXml 操作 Word 表格:从基础结构到样式合并的完整指南

C# OpenXml 操作 Word 表格:从基础结构到样式合并的完整指南

简介:面向需要在C#程序中自动化生成Word报表的.NET开发者,这份PDF演示了如何借助OpenXml SDK为Word文档添加表格。内容从引入DocumentFormat.OpenXml命名空间开始,逐步讲解AddTable方法的封装、TableGrid列数定义、表格边框样式设置&#xff…

2026/10/17 13:45:46 阅读更多 →
TPS54201低输入电压hiccup误触发,PNP三极管补偿方案解析

TPS54201低输入电压hiccup误触发,PNP三极管补偿方案解析

简介:面向LED照明系统设计人员,尤其适合熟悉电源管理IC与LED驱动器的工程师,围绕TPS54201宽输入电压(4.5V~28V)1.5A同步降压LED驱动芯片,解决低输入电压下负载LED电流不稳定的问题,并给出实际电…

2026/10/17 13:44:45 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →