Если необходимо обнаружить поддомены конкретного Web - сайта, то можно воспользоваться следующей программой. Используется метод полного перебора, будут проверяться все общие имена поддоменов этого конкретного домена, если будет получен ответ от сервера, то это означает, что поддомен существует. Был составлен список поддоменов для сканирования и помещен в файл «subdomains.txt».
#import requests # домен для поиска поддоменов domain = "susu.ru" # читать все поддомены file = open("D:\Надя\Костерин\Поддомены\subdomains.txt") # прочитать весь контент content = file.read() # разделить на новые строки subdomains = content.splitlines() # список обнаруженных поддоменов discovered_subdomains = [] for subdomain in subdomains: # создать URL url = f"http://{subdomain}.{domain}" try: # если возникает ОШИБКА, значит, субдомен не существует requests.get(url) except requests.ConnectionError: # если поддомена не существует, просто передать, ничего не выводить pass else: print("[+] Обнаружен поддомен:", url) # добавляем обнаруженный поддомен в наш список discovered_subdomains.append(url) # сохраняем обнаруженные поддомены в файл with open("discovered_subdomains.txt", "w") as f: for subdomain in discovered_subdomains: print(subdomain, file=f)
В результате работы программы были получены следующие результаты для домена susu.ru :
"D:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python.exe" D:/Регина/Костерин/Поддомены/Сканерподдоменов.py
[+] Обнаружен поддомен: http://mail.susu.ru
[+] Обнаружен поддомен: http://test.susu.ru
[+] Обнаружен поддомен: http://lists.susu.ru
[+] Обнаружен поддомен: http://support.susu.ru
[+] Обнаружен поддомен: http://wiki.susu.ru
[+] Обнаружен поддомен: http://media.susu.ru
[+] Обнаружен поддомен: http://my.susu.ru
[+] Обнаружен поддомен: http://sites.susu.ru
[+] Обнаружен поддомен: http://info.susu.ru
[+] Обнаружен поддомен: http://office.susu.ru
Process finished with exit code 0