← retour aux outils back to tools

# 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/dnsgen

## Overview

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)