📅  最后修改于: 2023-12-03 15:08:58.288000             🧑  作者: Mango
子域扫描是一种网络安全技术,旨在发现网站的子域名。Python是一种易于学习且开放源代码的编程语言,可以帮助安全研究人员制作自己的子域扫描器。在本文中,您将了解如何使用Python制作子域扫描器。
在开始之前,请确保您已经安装了Python。要制作子域扫描仪,您还需要使用以下库:
您可以使用以下命令在命令提示符中安装这些库:
pip install requests
pip install dnspython
在这一步中,我们将编写Python程序来发现给定网站的子域名。您需要在程序中指定目标网站的名称,例如 example.com
,以及要查找的子域的数量。
import requests
import dns.resolver
# 定义目标域名
target_domain = "example.com"
# API URL
api_url = "https://dns.google/resolve?name="
# 查找的子域数
subdomain_count = 10
# DNS解析
def dns_query(name):
answers = dns.resolver.query(name, 'A')
ips = []
for rdata in answers:
ips.append(rdata.address)
return ips
# HTTP请求
def http_request(url):
try:
response = requests.get(url)
return response.status_code
except requests.exceptions.RequestException as e:
print(e)
return None
# 查找子域
for i in range(subdomain_count):
subdomain = "subdomain" + str(i+1) + "." + target_domain
dns_result = dns_query(subdomain)
if dns_result:
for ip in dns_result:
if http_request("http://" + subdomain):
print("[+] Discovered subdomain:", subdomain, "with IP:", ip)
break
现在,您可以运行Python程序,它将发现给定网站的子域名。如果子域名存在,程序将显示它们的IP地址和状态码。
[+] Discovered subdomain: subdomain1.example.com with IP: 192.0.2.1
[+] Discovered subdomain: subdomain2.example.com with IP: 192.0.2.2
[+] Discovered subdomain: subdomain3.example.com with IP: 192.0.2.3
使用Python制作子域扫描器非常简单。我们只需要两个库和几行代码就可以了。现在您可以尝试编写自己的子域扫描器,并加以改进。