<!-- Copyright (c) 2026 defconxt. All rights reserved. -->
<!-- Licensed under AGPL-3.0 — see LICENSE file for details. -->
<!-- NERF is a trademark of defconxt. -->
# DNS Enumeration Templates — API Reference

## Nuclei DNS Protocol Options

```bash
# Basic DNS scan
nuclei -u example.com -t dns-template.yaml -json

# Bulk domain scan
nuclei -l domains.txt -t dns-templates/ -json -o results.json

# Custom resolver
nuclei -u example.com -t dns-template.yaml -r resolvers.txt -json
```

## DNS Request Fields

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Query name (use `{{FQDN}}`) |
| `type` | string | DNS record type |
| `class` | string | DNS query class (default: IN) |
| `recursion` | bool | Enable recursive resolution |
| `resolvers` | list | Custom DNS resolvers |

## Supported DNS Record Types

| Type | Description |
|------|-------------|
| `A` | IPv4 address record |
| `AAAA` | IPv6 address record |
| `CNAME` | Canonical name alias |
| `MX` | Mail exchange server |
| `TXT` | Text record (SPF, DMARC, DKIM) |
| `NS` | Nameserver record |
| `SOA` | Start of authority |
| `SRV` | Service locator |
| `PTR` | Reverse DNS pointer |
| `AXFR` | Zone transfer request |
| `CAA` | Certificate authority authorization |

## DNS Template Variables

| Variable | Description |
|----------|-------------|
| `{{FQDN}}` | Fully qualified domain name |
| `{{RDN}}` | Registered domain name |
| `{{DN}}` | Domain name |

## DNS Response Matchers

| Type | Usage | Description |
|------|-------|-------------|
| `word` | Match record content | Check for specific strings in response |
| `regex` | Pattern extraction | Extract IPs, hostnames from records |
| `status` | DNS response code | NOERROR, NXDOMAIN, SERVFAIL |
