编程 用 domain-scanner 把域名探测留在本地:三种信号交叉验证,低误报率

2026-09-08 22:10:58

用 domain-scanner 把域名探测留在本地:三种信号交叉验证,低误报率

domain-scanner 是一个 Go 编写的开源域名扫描工具,针对批量域名检测场景设计。扫描过程完全在本地完成,不依赖商业 API 或云端服务,适合需要控制数据流向的运维和开发场景。

主要功能

灵活的域名生成机制

支持两种域名输入源:

  • 模式生成:通过占位符批量生成组合域名。d 代表数字,D 代表字母,a 代表字母数字混合。
  • 字典导入:从外部 .txt 文件读取候选单词列表,逐词拼上目标后缀。

三重交叉验证引擎

对候选域名同时检查三种信号:DNS 记录(NS/A/MX)、WHOIS 信息、SSL 证书。每一条结果会附带命中信号签名,例如 [DNS_NS, WHOIS]。只有单一信号命中的结果会被标记出来,整体假阳性率约 5%。

高级正则过滤

内置 regexp2 库,支持 Perl 兼容正则语法,包括反向引用。示例如下:

^(.)\1{2}$

这条规则可匹配 aaa 这类重复字符组成的域名。同时内置 ReDoS 防护:单次匹配超时上限 100ms,并拦截嵌套量词,避免恶意正则在扫描时卡死。

智能性能与安全控制

提供并发数(-workers)和请求间隔(-delay)两个调节参数。当扫描规模过大时(例如 6 位纯字母组合超过 3 亿个),程序会弹出耗时预估警告,需要手动确认或加 -force 参数跳过。

定位场景

  • 域名投资:批量扫描短后缀(如 .li.io)或纯数字/字母组合,发现尚未注册的短域名。
  • 品牌保护:将品牌词或竞品词导入字典,定期扫描 .com 等主流后缀,排查恶意抢注或侵权域名。
  • 营销活动域名储备:用正则或字典生成与营销主题相关的域名变体(如 shopbuy),提前锁定可用资源。
  • 安全研究与红队测试:检测恶意域名注册倾向,或验证某个域名是否已被黑产占用。

项目信息

GitHub:

安装教程

项目用 Go 编写,无需额外环境变量。本地安装 Go 环境后即可使用。

克隆代码

git clone https://github.com/xuemian168/domain-scanner.git
cd domain-scanner

下载依赖

国内用户可配置 Go 代理加速:

go mod download

运行程序

# 直接运行
go run main.go [参数]

# 或编译成可执行文件(方便分发)
go build -o domain-scanner main.go
./domain-scanner [参数]

实战命令示例

扫描 3 位纯字母的 .li 后缀域名,开 20 个并发,请求间隔 500ms:

go run main.go -l 3 -s .li -p D -workers 20 -delay 500

读取 mylist.txt 中的单词,检查其在 .com 下的注册情况:

go run main.go -dict mylist.txt -s .com

筛选 4 位纯数字中前两位相同的域名(如 11xx.xyz):

go run main.go -l 4 -s .xyz -p d -r "^(.)\1"

查看所有已注册和未注册的域名,结果自动生成两个 .txt 文件:

go run main.go -l 2 -s .io -p a -show-registered -force
复制全文 生成海报 Go 域名工具 安全工具 运维

推荐文章

程序员茄子在线接单