【速查】Python 一键扫描子域名 - 安全技术
【速查】Python 一键扫描子域名 - 安全技术

Python 一键扫描子域名

兄弟们,子域名扫描是信息收集的必修课。今天给个纯Python方案,不用第三方工具,一行命令搞定。

【速查】Python 一键扫描子域名 - 安全技术

核心代码

import requests
import concurrent.futures

def scan_subdomain(domain, sub):
    url = f"http://{sub}.{domain}"
    try:
        r = requests.get(url, timeout=2)
        if r.status_code < 400:
            return url
    except:
        pass
    return None

def main():
    domain = input("输入目标域名(如 example.com): ")
    subs = open("subdomains.txt").read().splitlines()

    with concurrent.futures.ThreadPoolExecutor(max_workers=50) as executor:
        futures = [executor.submit(scan_subdomain, domain, sub) for sub in subs]
        for f in concurrent.futures.as_completed(futures):
            if result := f.result():
                print(f"[+] 发现: {result}")

if __name__ == "__main__":
    main()

用法

  1. 准备字典文件 subdomains.txt,每行一个子域名
# 常用子域名列表(搞安全的都懂)
www
mail
admin
api
dev
test
blog
shop
  1. 直接运行
python3 subscan.py
  1. 想快点?调大线程数,但别太狠,小心被封
# 改第15行
with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:

进阶玩法

加个进度条

pip3 install tqdm
from tqdm import tqdm

# 改main函数
for sub in tqdm(subs, desc="扫描中"):
    result = scan_subdomain(domain, sub)
    if result:
        print(f"[+] 发现: {result}")

支持HTTPS

def scan_subdomain(domain, sub):
    for proto in ['http', 'https']:
        url = f"{proto}://{sub}.{domain}"
        try:
            r = requests.get(url, timeout=2, verify=False)
            if r.status_code < 400:
                return url
        except:
            pass
    return None

输出到文件

python3 subscan.py | tee result.txt

字典去哪找

  • SecLists: https://github.com/danielmiessler/SecLists
  • 常用2万条: https://raw.githubusercontent.com/rbsec/dnscan/master/subdomains.txt

注意事项

  1. 别扫描未经授权的目标,这是基本职业操守
  2. 线程数别设太大,50-100够用,太多容易被ban
  3. 如果目标有CDN,部分子域名可能返回200但实际是CDN节点
  4. 建议配合DNS解析验证,避免误报

快速验证

# 先试几个手动验证
curl -I http://admin.example.com 2>/dev/null | head -n 1

这脚本虽然简单,但配合好字典,效率不比商业工具差。遇到CDN之类的特殊情况,自己改改逻辑就行。

有需要的兄弟直接复制,记得改字典路径。

📚 推荐资源

– 部分链接含推广返佣 –

🪐 加入「渗透实战安全圈」

每天分享渗透测试实战、挖洞技巧、漏洞分析、工具推荐

知识星球

https://t.zsxq.com/40MyD

💻 安全运维 / Linux运维 / 渗透测试 技术支持
业务需求可联系博客作者

By admin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注