dnsrecon
Outil complet d'énumération DNS. Effectue des transferts de zone, des résolutions inverses, une énumération d'enregistrements SRV, du brute-force de sous-domaines et du cache snooping. Comprehensive DNS enumeration tool. Performs zone transfers, reverse lookups, SRV record enumeration, subdomain brute-forcing, and cache snooping.
↗ https://github.com/darkoperator/dnsreconOverview
dnsrecon is a Python-based DNS reconnaissance tool that automates DNS enumeration tasks. It covers zone transfers, reverse lookups, standard record enumeration (A, AAAA, NS, MX, SOA, TXT), SRV records, and subdomain brute-forcing. A staple for early recon phases.
Basic Usage
Standard enumeration of a domain
dnsrecon -d example.com
Zone transfer attempt
dnsrecon -d example.com -t axfr
Brute-force subdomains with a wordlist
dnsrecon -d example.com -D /usr/share/wordlists/dnsmap.txt -t brt
Reverse lookup on a CIDR range
dnsrecon -r 192.168.1.0/24
Google lookup for subdomains
dnsrecon -d example.com -t goo
Cache snooping against a nameserver
dnsrecon -t snoop -n 8.8.8.8 -D /usr/share/wordlists/dnsmap.txt
Enumeration Types (-t)
std — standard record enum (default)
dnsrecon -d example.com -t std
axfr — zone transfer
dnsrecon -d example.com -t axfr
brt — subdomain brute-force
dnsrecon -d example.com -t brt -D /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
srv — SRV record enumeration
dnsrecon -d example.com -t srv
rvl — reverse lookup
dnsrecon -r 10.10.10.0/24 -t rvl
zonewalk — NSEC zone walk (DNSSEC)
dnsrecon -d example.com -t zonewalk
tld — TLD expansion
dnsrecon -d example -t tld
Output Options
JSON output
dnsrecon -d example.com -j output.json
XML output
dnsrecon -d example.com -x output.xml
SQLite database
dnsrecon -d example.com --db output.db
Verbose
dnsrecon -d example.com -v
Tips
- Always try zone transfer (
-t axfr) first — misconfigured DNS servers leak the full zone - Use
-nto specify a custom nameserver to avoid rate limiting from public resolvers - Combine brute-force with dnsx or massdns for large-scale resolution
- Output to JSON and parse with
jqfor integration into recon pipelines
Help / Man page
dnsrecon [options]
-d DOMAIN Target domain
-n NS Nameserver to query
-r RANGE IP range for reverse lookup (CIDR)
-D FILE Dictionary for brute-force
-t TYPE Type: std, axfr, brt, srv, rvl, tld, snoop, zonewalk, goo
-j FILE JSON output
-x FILE XML output
--db FILE SQLite DB output
-v Verbose
-c CSV output
-f Filter unresolvable wildcards
-a Perform AXFR with standard enumeration
Vue d’ensemble
dnsrecon est un outil de reconnaissance DNS en Python qui automatise les tâches d’énumération DNS. Il couvre les transferts de zone, les résolutions inverses, l’énumération d’enregistrements standards (A, AAAA, NS, MX, SOA, TXT), les enregistrements SRV, et le brute-force de sous-domaines. Un incontournable des premières phases de reconnaissance.
Utilisation de base
# Énumération standard d'un domaine
dnsrecon -d example.com
# Tentative de transfert de zone
dnsrecon -d example.com -t axfr
# Brute-force de sous-domaines avec une wordlist
dnsrecon -d example.com -D /usr/share/wordlists/dnsmap.txt -t brt
# Résolution inverse sur une plage CIDR
dnsrecon -r 192.168.1.0/24
# Recherche Google pour les sous-domaines
dnsrecon -d example.com -t goo
# Cache snooping contre un serveur de noms
dnsrecon -t snoop -n 8.8.8.8 -D /usr/share/wordlists/dnsmap.txt
Types d’énumération (-t)
# std : énumération d'enregistrements standards (par défaut)
dnsrecon -d example.com -t std
# axfr : transfert de zone
dnsrecon -d example.com -t axfr
# brt : brute-force de sous-domaines
dnsrecon -d example.com -t brt -D /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
# srv : énumération d'enregistrements SRV
dnsrecon -d example.com -t srv
# rvl : résolution inverse
dnsrecon -r 10.10.10.0/24 -t rvl
# zonewalk : parcours de zone NSEC (DNSSEC)
dnsrecon -d example.com -t zonewalk
# tld : expansion de TLD
dnsrecon -d example -t tld
Options de sortie
# Sortie JSON
dnsrecon -d example.com -j output.json
# Sortie XML
dnsrecon -d example.com -x output.xml
# Base de données SQLite
dnsrecon -d example.com --db output.db
# Verbeux
dnsrecon -d example.com -v
Conseils
- Essayez toujours le transfert de zone (
-t axfr) en premier : les serveurs DNS mal configurés fuitent la zone complète - Utilisez
-npour spécifier un serveur de noms personnalisé afin d’éviter la limitation de débit des résolveurs publics - Combinez le brute-force avec dnsx ou massdns pour une résolution à grande échelle
- Exportez en JSON et parsez avec
jqpour l’intégration dans des pipelines de recon
Aide / Page de manuel
dnsrecon [options]
-d DOMAIN Target domain
-n NS Nameserver to query
-r RANGE IP range for reverse lookup (CIDR)
-D FILE Dictionary for brute-force
-t TYPE Type: std, axfr, brt, srv, rvl, tld, snoop, zonewalk, goo
-j FILE JSON output
-x FILE XML output
--db FILE SQLite DB output
-v Verbose
-c CSV output
-f Filter unresolvable wildcards
-a Perform AXFR with standard enumeration