该脚本使用Python的Socket和DNS库来执行DNS解析,以查找是否有与子域名对应的IP地址。它可以从用户提供的字典文件中读取单词,并将其添加到指定的主域名前面来生成子域名。
- 在当前目录下创建一个名为
subdomains.txt
的文件,并将要检查的子域名列表添加到其中,每个子域名一行。 - 将
target_domain
变量设置为您要扫描的主域名。 - 运行Python脚本,扫描所有子域名,并输出与之对应的IP地址。
import socket
import dns.resolver
# 主域名
target_domain = 'example.com'
# 字典文件路径
dictionary_path = 'subdomains.txt'
# 读取字典文件
with open(dictionary_path) as f:
subdomains = f.readlines()
# 去除每行末尾的换行符
subdomains = [x.strip() for x in subdomains]
# 循环检查每个子域名是否存在
for subdomain in subdomains:
# 拼接子域名和主域名
domain = subdomain + '.' + target_domain
# 尝试执行DNS解析
try:
answers = dns.resolver.query(domain, 'A')
for rdata in answers:
print(domain, str(rdata))
except dns.resolver.NXDOMAIN:
pass