dnsx
Boîte à outils DNS rapide de ProjectDiscovery. Résout des listes de domaines, interroge plusieurs types d'enregistrements, effectue du brute-force de sous-domaines et valide les réponses DNS à grande échelle. Fast DNS toolkit from ProjectDiscovery. Resolves domain lists, runs multiple record types, brute-forces subdomains, and validates DNS responses at scale.
↗ https://github.com/projectdiscovery/dnsxOverview
dnsx is a fast, multi-purpose DNS resolver from ProjectDiscovery. It resolves large domain lists, queries multiple record types (A, AAAA, CNAME, MX, TXT, NS), performs wildcard filtering, and integrates cleanly into the subfinder → dnsx → httpx pipeline.
Basic Resolution
Resolve a list of domains
cat subdomains.txt | dnsx
Resolve a single domain
echo "target.com" | dnsx
cat domains.txt | dnsx -a # A records
cat domains.txt | dnsx -aaaa # AAAA records
cat domains.txt | dnsx -cname # CNAME records
cat domains.txt | dnsx -mx # MX records
cat domains.txt | dnsx -txt # TXT records
cat domains.txt | dnsx -ns # NS records
cat domains.txt | dnsx -soa # SOA records
cat domains.txt | dnsx -any # All record types
Pipeline Integration
Subfinder → resolve → probe with httpx
subfinder -d target.com -silent | dnsx -silent | httpx -silent
Resolve and show IPs
subfinder -d target.com | dnsx -a -resp
Filter only domains that resolve
cat large_list.txt | dnsx -silent -o resolved.txt
Check which subdomains have MX records (email targets)
cat subdomains.txt | dnsx -mx -resp
Brute-Force Mode
Subdomain brute-force with built-in wordlist
dnsx -d target.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
Brute-force with domain list
dnsx -d domains.txt -w wordlist.txt
Brute-force and filter wildcards
dnsx -d target.com -w wordlist.txt -wd target.com
Wildcard Detection & Filtering
Detect wildcard domains (important for accurate brute-force)
dnsx -d target.com -wd target.com -w wordlist.txt
# Wildcard filtering is automatic when using -wd
Output Options
JSON output
cat domains.txt | dnsx -json -o results.json
Show only resolved IPs
cat domains.txt | dnsx -a -resp-only
Show domain + IP
cat domains.txt | dnsx -a -resp
Verbose
cat domains.txt | dnsx -v
Silent (clean output for piping)
cat domains.txt | dnsx -silent
Custom Resolvers
Use specific DNS resolvers
cat domains.txt | dnsx -r 8.8.8.8,1.1.1.1
Use resolver list from file
cat domains.txt | dnsx -r resolvers.txt
Rate limiting
cat domains.txt | dnsx -rl 100 # 100 queries per second
Tips
dnsx -silentin pipelines keeps output clean — only resolved domains-respshows the actual DNS response value (IP, CNAME, etc.) alongside the domain- Wildcard filtering (
-wd) is essential for accurate brute-force results - dnsx is much faster than sequential
digorhostcommands for large domain lists
Help / Man page
dnsx [flags]
Input:
-l FILE File of domains to resolve
-d DOMAIN Target domain(s)
-w WORDLIST Wordlist for brute-force
DNS Record Types:
-a A records
-aaaa AAAA records
-cname CNAME records
-ns NS records
-txt TXT records
-mx MX records
-soa SOA records
-any All record types
Output:
-resp Show DNS response value
-resp-only Show only response values
-json JSON output
-o FILE Output file
-silent Silent mode
-v Verbose
Performance:
-t N Threads (default: 100)
-rl N Rate limit (queries/sec)
-r RESOLVERS Custom DNS resolvers
-wd DOMAIN Wildcard domain to filter
-timeout N Query timeout
-retry N Retries per query
Vue d’ensemble
dnsx est un résolveur DNS rapide et polyvalent de ProjectDiscovery. Il résout de grandes listes de domaines, interroge plusieurs types d’enregistrements (A, AAAA, CNAME, MX, TXT, NS), effectue un filtrage des wildcards, et s’intègre proprement dans le pipeline subfinder → dnsx → httpx.
Résolution de base
# Résoudre une liste de domaines
cat subdomains.txt | dnsx
# Résoudre un seul domaine
echo "target.com" | dnsx
cat domains.txt | dnsx -a # Enregistrements A
cat domains.txt | dnsx -aaaa # Enregistrements AAAA
cat domains.txt | dnsx -cname # Enregistrements CNAME
cat domains.txt | dnsx -mx # Enregistrements MX
cat domains.txt | dnsx -txt # Enregistrements TXT
cat domains.txt | dnsx -ns # Enregistrements NS
cat domains.txt | dnsx -soa # Enregistrements SOA
cat domains.txt | dnsx -any # Tous les types d'enregistrements
Intégration en pipeline
# Subfinder → résolution → sondage avec httpx
subfinder -d target.com -silent | dnsx -silent | httpx -silent
# Résoudre et afficher les IP
subfinder -d target.com | dnsx -a -resp
# Filtrer uniquement les domaines qui résolvent
cat large_list.txt | dnsx -silent -o resolved.txt
# Vérifier quels sous-domaines ont des enregistrements MX (cibles e-mail)
cat subdomains.txt | dnsx -mx -resp
Mode brute-force
# Brute-force de sous-domaines avec la wordlist intégrée
dnsx -d target.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
# Brute-force avec une liste de domaines
dnsx -d domains.txt -w wordlist.txt
# Brute-force et filtrage des wildcards
dnsx -d target.com -w wordlist.txt -wd target.com
Détection et filtrage des wildcards
# Détecter les domaines wildcard (important pour un brute-force précis)
dnsx -d target.com -wd target.com -w wordlist.txt
# Le filtrage des wildcards est automatique lors de l'utilisation de -wd
Options de sortie
# Sortie JSON
cat domains.txt | dnsx -json -o results.json
# Afficher uniquement les IP résolues
cat domains.txt | dnsx -a -resp-only
# Afficher domaine + IP
cat domains.txt | dnsx -a -resp
# Verbeux
cat domains.txt | dnsx -v
# Silencieux (sortie propre pour le chaînage)
cat domains.txt | dnsx -silent
Résolveurs personnalisés
# Utiliser des résolveurs DNS spécifiques
cat domains.txt | dnsx -r 8.8.8.8,1.1.1.1
# Utiliser une liste de résolveurs depuis un fichier
cat domains.txt | dnsx -r resolvers.txt
# Limitation de débit
cat domains.txt | dnsx -rl 100 # 100 requêtes par seconde
Conseils
dnsx -silentdans les pipelines garde une sortie propre : uniquement les domaines résolus-respaffiche la valeur réelle de la réponse DNS (IP, CNAME, etc.) à côté du domaine- Le filtrage des wildcards (
-wd) est essentiel pour des résultats de brute-force précis - dnsx est bien plus rapide que des commandes
digouhostséquentielles pour de grandes listes de domaines
Aide / Page de manuel
dnsx [flags]
Input:
-l FILE File of domains to resolve
-d DOMAIN Target domain(s)
-w WORDLIST Wordlist for brute-force
DNS Record Types:
-a A records
-aaaa AAAA records
-cname CNAME records
-ns NS records
-txt TXT records
-mx MX records
-soa SOA records
-any All record types
Output:
-resp Show DNS response value
-resp-only Show only response values
-json JSON output
-o FILE Output file
-silent Silent mode
-v Verbose
Performance:
-t N Threads (default: 100)
-rl N Rate limit (queries/sec)
-r RESOLVERS Custom DNS resolvers
-wd DOMAIN Wildcard domain to filter
-timeout N Query timeout
-retry N Retries per query