Install any skill in seconds. Free to start, no credit card required.
Get Started Free →DNS lookup, WHOIS, passive-DNS history, IP reputation, and subdomain enumeration procedures. Auto-load when nslookup / dig / whois / host is mentioned, when investigating DNS records (A, NS, MX, CNAME, TXT), when researching historical nameservers, when checking IP reputation (AbuseIPDB, ipinfo.io), when enumerating subdomains (HackerTarget, crt.sh, SecurityTrails), or when reasoning about registrar vs hosting provider.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 60% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 95% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 36% | 0% |
Investigation toolkit for DNS, WHOIS, IP reputation, and passive-DNS work. Applies to any domain or IP across public internet domains.
wsl dig — fullest output, supports +short, +noall +answer, ANY, AXFR, etc.curl -s "https://dns.google/resolve?name=DOMAIN&type=A" — works from any shell, returns JSON.nslookup — works but some local resolvers may return "No response from server". Use only when 1 and 2 are unavailable.bash# A / NS / MX / CNAME / TXT via Google DNS-over-HTTPS curl -s "https://dns.google/resolve?name=DOMAIN&type=A|NS|MX|CNAME|TXT" # Indexed subdomains (HackerTarget) curl -s "https://api.hackertarget.com/hostsearch/?q=DOMAIN"
Use these when "what nameservers did this domain use before migrating?" or "what DNS records existed historically?" matters. They reveal records that no longer resolve.
curl -s "https://crt.sh/?q=%.DOMAIN&output=json" — reveals subdomains that ever had SSL issued (indirect evidence they existed).https://securitytrails.com/domain/DOMAIN/dns (WebFetch; may require account).https://whoisfreaks.com/tools/dns/history/lookup/DOMAIN (WebFetch).https://dnshistory.org/dns-records/DOMAIN (WebFetch).https://viewdns.info/history/?domain=DOMAIN (WebFetch).Priority order for historical nameservers: SecurityTrails (preferred, comprehensive history) → WhoisFreaks → ViewDNS.info → DNS provider customer support.
https://who.is/whois/DOMAIN (WebFetch).https://lookup.icann.org/en/lookup?name=DOMAIN (WebFetch).wsl whois DOMAIN for shells with whois available.Note: some ccTLDs (.in, .de, .uk, etc.) do not expose public WHOIS for the registrant due to regional privacy regulations.
bashcurl -s "https://ipinfo.io/IP/json"
Returns: organization name, ASN, reverse hostname, country, city, ISP.
The API key should be stored in a secure vault (e.g., Bitwarden, environment variable, credential manager). Reference it as an environment variable ABUSEIPDB_API_KEY — never hardcode it.
bashcurl -G https://api.abuseipdb.com/api/v2/check \ --data-urlencode "ipAddress=IP" \ -H "Key: $ABUSEIPDB_API_KEY" \ -H "Accept: application/json"
If ABUSEIPDB_API_KEY is not set in the current shell, retrieve it securely and export it for the session (export ABUSEIPDB_API_KEY=... on Bash / $env:ABUSEIPDB_API_KEY=... on PowerShell) — do not print the value to stdout or logs.
Never assume the registrar (WHOIS registrant) is also the hosting provider. They are independent business relationships: a domain can be registered at GoDaddy but hosted at Linode, or registered at Namecheap and hosted at AWS.
To find historical nameservers (e.g., "what was the NS before the domain was migrated?"):
https://securitytrails.com/domain/DOMAIN/dns — shows NS history and A-record history with timestamps.Example: A domain registered at GoDaddy (registrar) may have been hosted at AWS (NS: ns-123.awsdns-45.com), then migrated to Cloudflare (NS: nora.ns.cloudflare.com). The WHOIS registrant info does not change, but the NS records do. Historical DNS records reveal the path.
curl -s "https://api.hackertarget.com/hostsearch/?q=DOMAIN".curl -s "https://crt.sh/?q=%.DOMAIN&output=json".| Tool | Use Case | |---|---| | dig / Google DNS API | Real-time DNS records, current state | | crt.sh | Historical subdomains, certificates, broad discovery | | SecurityTrails | Historical NS records, DNS changes over time | | WHOIS (ICANN / who.is) | Registrant, registrar, registration date, contact info | | ipinfo.io | IP organization, ASN, geolocation, reverse hostname | | AbuseIPDB | Abuse history, blacklist score, reporter comments | | HackerTarget | Indexed subdomains from search engines and DNS scans |
curl -s "https://dns.google/resolve?name=DOMAIN&type=NS"*.awsdns*.com = AWS, *.cloudflare.com = Cloudflare, *.linode.com = Linode).ipinfo.io on the A record IP.https://securitytrails.com/domain/DOMAIN/dnscurl -s "https://ipinfo.io/IP/json" — basic info.curl -G https://api.abuseipdb.com/api/v2/check --data-urlencode "ipAddress=IP" -H "Key: $ABUSEIPDB_API_KEY" -H "Accept: application/json" — abuse score.curl -s "https://crt.sh/?q=%.DOMAIN&output=json" — CT logs.curl -s "https://api.hackertarget.com/hostsearch/?q=DOMAIN" — indexed scans.Other measured skills in the registry, with their headline benchmark lift.