从多个方面解析子域名扫描技术

发布时间:2023-05-16

子域名扫描工具与使用指南

一、子域名扫描工具

子域名扫描工具是指用于对目标网站进行子域名枚举和探测的软件。常见的子域名扫描工具有三大类,包括:

1. 基于字典的扫描工具

这类工具是通过事先准备好的字典文件进行扫描,最基础的实现方式就是通过暴力破解的方法进行穷举,依次尝试可能的子域名组合。常见的字典文件有 FuzzDB、Seclists 等。

# 使用 FuzzDB 中的 quickhits-backup-domains.txt 进行子域名扫描
wfuzz -w quickhits-backup-domains.txt -H "Host: FUZZ.example.com" http://example.com

2. 基于搜索引擎的扫描工具

这类工具是利用搜索引擎的功能,对目标网站进行搜索,获取相关的子域名信息。常见的搜索引擎有 Google、Bing、Yahoo 等。

# 使用 Google 搜索引擎进行子域名扫描
python3 subdomain.py -d example.com --scraping

3. 基于区块链技术的扫描工具

这类工具是基于区块链技术构建的分布式子域名扫描网络,依靠共识机制来保证数据的可信性和安全性。

# 使用 ESD 进行区块链域名解析
esd -d example.com -r

二、子域名扫描器有哪些

子域名扫描器是指用于对目标网站进行全面、系统的子域名探测和枚举的工具,其不仅可以使用单一的字典,还可以采用多种方式,包括搜索引擎搜索、查询 DNS 记录、爬取社交媒体等。常见的子域名扫描器有以下几个:

1. Sublist3r

Sublist3r 是一款使用 Python 编写的子域名枚举工具,可以从多个搜索引擎和网站获取子域名信息。

# 使用 Sublist3r 进行子域名扫描
python sublist3r.py -d example.com

2. Amass

Amass 是一款开源的子域名枚举工具,支持多种扫描方式,包括字典搜索、搜索引擎搜索、网络空间枚举等。

# 使用 Amass 进行子域名扫描
amass enum -d example.com

3. Subfinder

Subfinder 是一款基于 Go 语言开发的快速子域名枚举工具,支持多种引擎和平台,可以快速生成远程主机的子域名列表。

# 使用 Subfinder 进行子域名扫描
subfinder -d example.com

三、子域名扫描 esd

ESD 是一种基于区块链技术构建的去中心化 DNS 解析系统,具有高效、安全、去中心化等优点。在子域名扫描中,ESD 可以通过查询节点来获取目标网站的信息,实现快速可信的子域名枚举。

# 使用 ESD 进行区块链域名解析
esd -d example.com -r

四、子域名扫描常见扫描端口

在进行子域名扫描时,常见的扫描端口包括以下几个:

1. 端口 80

端口 80 是 HTTP 协议的默认端口,当浏览器访问一个网站时,会自动连接到该网站的 80 端口。

2. 端口 443

端口 443 是 HTTPS 协议的默认端口,用于安全传输 HTTP 协议信息。

3. 端口 22

端口 22 是 SSH 协议的默认端口,主要用于远程登录和管理操作系统。

4. 端口 21

端口 21 是 FTP 协议的默认端口,主要用于文件传输。

5. 端口 53

端口 53 是 DNS 协议的默认端口,用于解析域名到 IP 地址。

五、子域名在线扫描

除了本地扫描工具之外,还有一些在线的子域名扫描平台,可以在线快速地进行子域名枚举和扫描。常见的在线子域名扫描平台有以下几个:

1. HackerTarget

HackerTarget 是一款基于互联网上的公共数据源的在线子域名扫描平台,可以快速获取目标网站的子域名信息。

2. Censys

Censys 是一款基于互联网上的公共数据源的在线子域名扫描平台,可以快速获取目标网站的子域名、端口和 SSL 证书等信息。

3. VirusTotal

VirusTotal 是一款在线的恶意软件扫描平台,除了对文件进行扫描之外,还可以用于子域名的扫描和探测。

六、子域名 IP 查询

在进行子域名扫描之后,我们可以使用 IP 查询工具来查询子域名对应的 IP 地址。常见的子域名 IP 查询工具有以下几个:

1. ping 命令

ping 命令是一种基于 ICMP 协议的网络诊断工具,可以用于查询域名对应的 IP 地址。

# 使用 ping 命令查询域名对应的 IP 地址
ping example.com

2. nslookup 命令

nslookup 命令是一种基于 DNS 协议的网络诊断工具,可以用于查询域名对应的 IP 地址和 DNS 记录。

# 使用 nslookup 命令查询域名对应的 IP 地址
nslookup example.com

3. whois 命令

whois 命令是一种查询域名注册信息的工具,可以用于查询所有权和联系人信息等。

# 使用 whois 命令查询域名的注册信息
whois example.com

七、子域名二级域名查询

在进行子域名扫描和枚举后,我们还可以使用二级域名查询工具来对子域名进行分类和整理。常见的二级域名查询工具有以下几个:

1. Sublist3r

Sublist3r 在进行子域名扫描时,可以自动进行二级域名查询和分类,方便后续的使用。

# 使用 Sublist3r 查询目标网站的二级域名
python sublist3r.py -d example.com --recursive

2. Amass

Amass 在进行子域名扫描时,也可以自动进行二级域名查询和分类,支持多种查询方式。

# 使用 Amass 查询目标网站的二级域名
amass enum -d example.com -brute -w Sublist3r Lists

3. SecurityTrails

SecurityTrails 是一款在线的域名信息查询平台,可以快速获取目标网站的子域名和二级域名信息。

# 使用 SecurityTrails 查询目标网站的二级域名
https://securitytrails.com/domain/example.com/dns

八、扫描子域名的工具选取

针对不同的情况和需求,我们可以选用不同的子域名扫描工具来进行枚举和探测。例如,在进行快速的子域名探测时,可以采用基于搜索引擎的扫描工具,例如 Subfinder;在进行精细的子域名枚举和分类时,可以选择基于字典的扫描工具,例如 Sublist3r。