
Генерирует перестановки доменных имён для перечисления поддоменов и разведки, поддерживая пользовательские словари, облачные шаблоны и быстрый режим для оценки безопасности.
DNSGen — это мощный и гибкий инструмент для перестановки DNS-имён, предназначенный для исследователей безопасности и пентестеров. Он генерирует интеллектуальные вариации доменных имён, помогая в обнаружении поддоменов и оценке безопасности.

# Using pip
python -m pip install dnsgen
# Using uv (recommended for development)
git clone https://github.com/AlephNullSK/dnsgen
cd dnsgen/
python -m pip install uv
uv sync
# Basic domain permutation
dnsgen domains.txt
# With custom wordlist and output file
dnsgen -w custom_wordlist.txt -o results.txt domains.txt
# Using fast mode for quick assessment
dnsgen -f domains.txt
# Pipe with massdns for resolution
cat domains.txt | dnsgen - | massdns -r resolvers.txt -t A -o J --flush 2>/dev/null
DNSGen 2.0 реализует множество сложных техник перестановки:
Вставка слов
api.example.com → staging.api.example.comИзменение чисел
api2.example.com → api1.example.com, api3.example.comАффиксация слов
api.example.com → devapi.example.com, api-dev.example.comПаттерны облачных провайдеров
example.com → api-aws.example.com, storage-azure.example.comРегиональные префиксы
api.example.com → us-east.api.example.comПаттерны микросервисов
example.com → auth-service.example.com, user-api.example.comВнутренние инструменты
example.com → jenkins.internal.example.comПрефиксы портов
api.example.com → 8080.api.example.comdnsgen [OPTIONS] FILENAME
Options:
-l, --wordlen INTEGER Min length of custom words (default: 6)
-w, --wordlist PATH Path to custom wordlist
-f, --fast Fast generation mode
-o, --output PATH Output file path
-v, --verbose Enable verbose logging
--help Show this message and exit
DNSGen 2.0 поддерживает словари с комментариями для лучшей организации:
# Environment Names
dev
staging
prod
# Cloud Providers
aws
azure
gcp
# Tools and Services
jenkins
gitlab
grafana
Получите чистый список разрешённых доменов:
# Generate and resolve
dnsgen hosts.txt > wordlist.txt
massdns -r resolvers.txt -o S wordlist.txt | grep -e ' A ' | \
cut -d 'A' -f 1 | rev | cut -d "." -f1 --complement | \
rev | sort | uniq > resolved_domains.txt
Вклад приветствуется! Вот как вы можете помочь:
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureПодробнее см. в CONTRIBUTING.md.
Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.
Сделано с ❤️ сообществом специалистов по безопасности