Appendix F: DNS Cheat Sheet

Quick reference: dig flags, record types, TTL values, DMARC tags, SPF mechanisms, common dig one-liners, UDRP test, EPP status codes.

Appendix F: DNS Cheat Sheet

Everything you reach for during an incident or audit, on one page.


dig Command Flags

FlagWhat It Does
+shortOutput only the answer (no headers, authority, additional sections)
+traceTrace the full resolution from root down
+norecurse / +norecAsk the server for its own authoritative answer only (no recursive lookup)
+dnssecRequest DNSSEC records in the response (sets DO bit)
+sigchaseFollow and validate the DNSSEC chain (older dig versions)
+cdDisable DNSSEC validation on the resolver side (gets raw signed data)
+time=NSet query timeout to N seconds
+tries=NSet number of retry attempts
+multilinePrint records in expanded multiline format
+noquestionDon't print the question section
+statsShow query statistics (response time, server)
@serverQuery a specific nameserver (e.g., @8.8.8.8)
-x IPReverse lookup (PTR record for an IP address)
-4 / -6Force IPv4 / IPv6 transport

DNS Record Types Quick Reference

TypePurposeExample
AIPv4 addressexample.com. A 203.0.113.10
AAAAIPv6 addressexample.com. AAAA 2001:db8::1
CNAMEAlias to another namewww CNAME example.com.
MXMail serverexample.com. MX 10 mail.example.com.
TXTText data (SPF, DKIM, DMARC, verification)example.com. TXT "v=spf1 ..."
NSAuthoritative nameservers for a zoneexample.com. NS ns1.provider.com.
SOAZone administrative parametersOne per zone, contains serial, TTL defaults
PTRReverse DNS (IP to hostname)10.113.0.203.in-addr.arpa. PTR example.com.
SRVService location with port_http._tcp.example.com. SRV 10 5 80 web.example.com.
CAACA authorization for TLS certsexample.com. CAA 0 issue "letsencrypt.org"
ALIAS/ANAMECNAME-like at apex (provider extension)example.com. ALIAS lb.provider.com.
HTTPSHTTPS service parametersexample.com. HTTPS 1 . alpn="h3,h2"
SVCBService binding (generalization of HTTPS)_https._tcp.example.com. SVCB 1 ...
TLSADANE TLS certificate bindingRequires DNSSEC
DSDNSSEC delegation signerPublished in parent zone
DNSKEYDNSSEC public keyPublished in zone itself
RRSIGDNSSEC signature over RRsetAdded automatically when zone is signed
NSEC/NSEC3DNSSEC authenticated denial of existenceAdded automatically when zone is signed

TTL Values Reference

TTLValueUse Case
60s1 minuteIncident response, rollback window, active change in progress
300s5 minutesPre-change (lower before any planned DNS change), new launch period
3600s1 hourStandard operational TTL for most records
86400s24 hoursVery stable records (MX, NS, TXT for stable configurations)

Rule: Lower TTL to your target value, wait one full TTL period, then make the change. This ensures all caches have expired before the change propagates.


DMARC Tag Reference

TagRequiredDescriptionExample
vYesVersion. Must be DMARC1v=DMARC1
pYesPolicy: none, quarantine, rejectp=reject
spNoSubdomain policy (overrides p for subdomains)sp=quarantine
ruaNoAggregate report URI(s)rua=mailto:dmarc@example.com
rufNoFailure report URI(s)ruf=mailto:failures@example.com
foNoFailure reporting options: 0=both fail, 1=any fail, d=DKIM fail, s=SPF failfo=1
pctNoPercentage of messages to apply policy to (1-100, default 100)pct=25
adkimNoDKIM alignment: r=relaxed (default), s=strictadkim=r
aspfNoSPF alignment: r=relaxed (default), s=strictaspf=r
riNoAggregate report interval in seconds (default 86400)ri=86400

Rollout sequence: p=none → collect reports for 2+ weeks → p=quarantine; pct=25 → increase pct over 2 weeks → p=quarantine; pct=100p=reject


SPF Mechanism Reference

MechanismMatch ConditionExample
ip4:IPv4 address or rangeip4:203.0.113.0/24
ip6:IPv6 address or rangeip6:2001:db8::/32
include:Include another domain's SPF policyinclude:_spf.google.com
aSending IP matches the domain's A recorda:example.com
mxSending IP matches the domain's MX recordmx
ptrPTR record matches the domain (slow, avoid)ptr:example.com
exists:A record exists for constructed domainexists:%{ir}.spamlist.example.com
allAlways matches (catch-all at end)Use with qualifier

Qualifiers: + (pass, default), - (fail), ~ (softfail), ? (neutral)

End your SPF with: ~all (softfail — deliver but mark) or -all (hard fail — reject). Never +all.

Max 10 DNS lookups in an SPF record (include:, a, mx each cost one lookup).


Common dig One-Liners

# Check MX records
dig example.com MX +short

# Verify SPF record
dig example.com TXT +short | grep spf

# Check DMARC
dig _dmarc.example.com TXT +short

# Verify DKIM selector
dig mail._domainkey.example.com TXT +short

# Check CAA records
dig example.com CAA +short

# Trace full resolution chain
dig +trace example.com A

# Check SOA serial
dig example.com SOA +short

# Compare SOA between providers
dig @ns1.provider1.com example.com SOA +short
dig @ns1.provider2.com example.com SOA +short

# Verify DNSSEC (check for AD flag in response)
dig example.com A +dnssec | grep "flags:"

# Check nameservers
dig example.com NS +short

# Reverse lookup
dig -x 203.0.113.10 +short

# Zone transfer attempt (will be refused if restricted)
dig AXFR example.com @ns1.example.com

# Check HTTPS record
dig example.com HTTPS +short

# Query using DoH (requires dig 9.18+)
dig @https://1.1.1.1/dns-query example.com A +https

# Check from a specific resolver bypassing local cache
dig +norecurse @ns1.example.com example.com A

UDRP Quick Reference: Three-Part Test

All three parts must be established by the complainant:

ElementWhat You Must Prove
1. Identical or confusingly similarThe disputed domain is identical to or confusingly similar to a trademark in which you have rights. Registered trademark is easier to prove; common-law trademark requires demonstrating established use.
2. No legitimate interestThe respondent has no rights or legitimate interests in the domain. The respondent is not commonly known by the name, is not making bona fide use, and is not making legitimate non-commercial or fair use.
3. Bad faith registration and useThe domain was registered and is being used in bad faith. Indicators: registered primarily to sell to the trademark owner, registered to disrupt a competitor's business, intentional attempt to attract users by creating confusion, pattern of abusive registrations.

Providers: WIPO (most common), NAF (National Arbitration Forum), CAC Timeline: 45-60 days from complaint filing to decision Outcome options: Transfer to complainant, cancellation, dismissed (domain stays with respondent) Cost: USD ~1,500-3,000 for a one-panelist case with WIPO


EPP Status Code Reference

CodeSet ByMeaning
clientTransferProhibitedRegistrarTransfer lock. Cannot transfer to another registrar without removing this.
clientUpdateProhibitedRegistrarDomain object cannot be updated (WHOIS data, nameservers).
clientDeleteProhibitedRegistrarDomain cannot be deleted.
clientHoldRegistrarDomain is suspended. DNS does not resolve.
clientRenewProhibitedRegistrarDomain cannot be renewed by registrar.
serverTransferProhibitedRegistryRegistry-level transfer lock. Requires registry action to remove. Stronger than client-side.
serverUpdateProhibitedRegistryRegistry-level update lock.
serverDeleteProhibitedRegistryRegistry-level delete lock. Used for premium/reserved domains.
serverHoldRegistryDomain suspended by registry (e.g., for abuse). DNS does not resolve.
serverRenewProhibitedRegistryCannot be renewed at registry level (e.g., policy restrictions).
pendingTransferRegistryTransfer in progress. Domain is in transfer limbo — neither registrar can make changes.
pendingDeleteRegistryDomain in deletion queue. After expiry + grace periods. Typically 5-day window before name releases.
redemptionPeriodRegistryDomain is in the redemption grace period (30 days after deletion) — can be recovered by prior registrant at a penalty fee.
okRegistryNormal operating status. No restrictions active.