dnsgen
Générateur rapide de permutations DNS. Crée des combinaisons de sous-domaines à partir de noms d'hôtes connus en utilisant des préfixes, suffixes et motifs numériques courants pour la découverte de sous-domaines. Fast DNS permutation generator. Creates subdomain combinations from known hostnames using common prefixes, suffixes, and number patterns for subdomain discovery.
↗ https://github.com/ProjectAnte/dnsgenOverview
dnsgen generates permutations of subdomain names from a list of known hostnames. It creates candidates by combining words extracted from the input with common patterns (dev, staging, api, v1, etc.). Designed to be fast and integrate with massdns or dnsx for bulk resolution.
Installation
pip3 install dnsgen
Basic Usage
Generate permutations from known subdomains
dnsgen subdomains.txt
Pipe directly into massdns for resolution
dnsgen subdomains.txt | massdns -r resolvers.txt -t A -o S -
With custom wordlist
dnsgen -w custom_words.txt subdomains.txt
Output to file
dnsgen subdomains.txt > permutations.txt
Integration Workflows
Full pipeline: passive discovery → permutations → resolution → web probe
subfinder -d example.com -silent | \
tee known_subs.txt | \
dnsgen - | \
massdns -r resolvers.txt -t A -o S - | \
awk '{print $1}' | \
sed 's/\.$//' | \
httpx -silent | \
tee live_hosts.txt
# With puredns (handles wildcards better)
subfinder -d example.com -silent > subs.txt
dnsgen subs.txt > perms.txt
puredns resolve perms.txt -r resolvers.txt -w resolved.txt
Custom Wordlists
Default words are built-in (extracted from input hostnames) Add custom words for specific targets:
cat > custom.txt << 'EOF'
dev
staging
prod
internal
vpn
api
v1
v2
admin
test
beta
EOF
dnsgen -w custom.txt subdomains.txt
What dnsgen Generates
Input: api.example.com, dev.example.com, mail.example.com
Generated (partial):
api.dev.example.com
dev.api.example.com
api2.example.com
api-dev.example.com
dev-api.example.com
staging.api.example.com
api.staging.example.com
v1.api.example.com
api.v1.example.com
...and hundreds more
Tips
- dnsgen extracts words from input hostnames automatically — no wordlist needed for basic use
- Always combine with puredns or massdns for resolution (dnsgen only generates, doesn’t resolve)
- Use after amass/subfinder passive scans to expand coverage with permutation-based discovery
- Limit custom wordlist size — too many words creates exponential output
Help / Man page
dnsgen [options] <file>
<file> File with known subdomains (use - for stdin)
-w FILE Custom wordlist
-l N Min word length to extract from hostnames (default: 6)
-f Fast mode (fewer permutations)
Vue d’ensemble
dnsgen génère des permutations de noms de sous-domaines à partir d’une liste de noms d’hôtes connus. Il crée des candidats en combinant des mots extraits de l’entrée avec des motifs courants (dev, staging, api, v1, etc.). Conçu pour être rapide et s’intégrer avec massdns ou dnsx pour une résolution en masse.
Installation
pip3 install dnsgen
Utilisation de base
# Générer des permutations à partir de sous-domaines connus
dnsgen subdomains.txt
# Rediriger directement vers massdns pour la résolution
dnsgen subdomains.txt | massdns -r resolvers.txt -t A -o S -
# Avec une liste de mots personnalisée
dnsgen -w custom_words.txt subdomains.txt
# Sortie vers un fichier
dnsgen subdomains.txt > permutations.txt
Workflows d’intégration
Pipeline complet : découverte passive → permutations → résolution → sondage web
subfinder -d example.com -silent | \
tee known_subs.txt | \
dnsgen - | \
massdns -r resolvers.txt -t A -o S - | \
awk '{print $1}' | \
sed 's/\.$//' | \
httpx -silent | \
tee live_hosts.txt
# Avec puredns (gère mieux les wildcards)
subfinder -d example.com -silent > subs.txt
dnsgen subs.txt > perms.txt
puredns resolve perms.txt -r resolvers.txt -w resolved.txt
Listes de mots personnalisées
Les mots par défaut sont intégrés (extraits des noms d’hôtes en entrée). Ajoutez des mots personnalisés pour des cibles spécifiques :
cat > custom.txt << 'EOF'
dev
staging
prod
internal
vpn
api
v1
v2
admin
test
beta
EOF
dnsgen -w custom.txt subdomains.txt
Ce que dnsgen génère
Input: api.example.com, dev.example.com, mail.example.com
Generated (partial):
api.dev.example.com
dev.api.example.com
api2.example.com
api-dev.example.com
dev-api.example.com
staging.api.example.com
api.staging.example.com
v1.api.example.com
api.v1.example.com
...and hundreds more
Conseils
- dnsgen extrait automatiquement les mots des noms d’hôtes en entrée : aucune wordlist nécessaire pour une utilisation basique
- Combinez toujours avec puredns ou massdns pour la résolution (dnsgen ne fait que générer, pas résoudre)
- À utiliser après les scans passifs amass/subfinder pour étendre la couverture grâce à la découverte par permutation
- Limitez la taille de la wordlist personnalisée : trop de mots crée une sortie exponentielle
Aide / Page de manuel
dnsgen [options] <file>
<file> File with known subdomains (use - for stdin)
-w FILE Custom wordlist
-l N Min word length to extract from hostnames (default: 6)
-f Fast mode (fewer permutations)