DNS — dig/nslookup/host
If you like this project, consider supporting me on Buy Me a Coffee ☕️
DNS — dig / nslookup / host
dig, nslookup, and host are DNS query utilities used for domain name resolution troubleshooting. dig (Domain Information Groper) is the most powerful and widely used, providing detailed DNS record information. nslookup offers interactive mode, and host provides simple, quick lookups.
📚 Official Docs / Официальная документация: dig(1) · nslookup(1)
🔍 DIG — DNS Lookup
Basic Queries / Базовые запросы
dig example.com # Default A record / A запись по умолчанию
dig example.com +short # Short output / Короткий вывод
dig example.com A # IPv4 address / IPv4 адрес
dig example.com AAAA # IPv6 address / IPv6 адрес
dig example.com MX # Mail exchangers / Почтовые MX
dig example.com NS # Nameservers / DNS серверы
dig example.com TXT # TXT records / TXT записи
dig example.com SOA # Start of Authority / Начало зоны
dig example.com CNAME # Canonical name / Каноническое имя
dig example.com ANY # All records / Все типы записей
Specific DNS Server / Конкретный DNS сервер
dig @1.1.1.1 example.com # Query Cloudflare / Запрос Cloudflare
dig @8.8.8.8 example.com # Query Google DNS / Запрос Google DNS
dig @208.67.222.222 example.com # Query OpenDNS / Запрос OpenDNS
dig @<DNS_SERVER_IP> example.com # Custom DNS / Пользовательский DNS
Query Options / Опции запросов
dig example.com +noall +answer # Only answer section / Только раздел ответа
dig example.com +trace # Full delegation trace / Полная трассировка делегации
dig example.com +dnssec # DNSSEC validation / Проверка DNSSEC
dig example.com +tcp # Use TCP / Использовать TCP
dig example.com +short +noquestion # Minimal output / Минимальный вывод
dig example.com +norecurse # No recursion / Без рекурсии
dig example.com +timeout=5 # Timeout 5s / Таймаут 5с
dig example.com +tries=3 # Retry count / Число попыток
Reverse DNS / Обратный DNS
dig -x 1.2.3.4 # Reverse lookup / Обратный поиск
dig -x 1.2.3.4 +short # Short reverse / Короткий обратный
Batch Queries / Пакетные запросы
dig example.com MX +short # MX records / MX записи
dig example.com NS +short # NS records / NS записи
dig example.com TXT +short # TXT records / TXT записи
🔎 NSLOOKUP — Interactive DNS
Basic Usage / Базовое использование
nslookup example.com # Default query / Запрос по умолчанию
nslookup example.com 1.1.1.1 # Specific DNS / Конкретный DNS
nslookup -type=A example.com # A record / A запись
nslookup -type=MX example.com # MX record / MX запись
nslookup -type=NS example.com # NS record / NS запись
nslookup -type=TXT example.com # TXT record / TXT запись
nslookup -type=SOA example.com # SOA record / SOA запись
nslookup -type=SRV _service._tcp.example.com # SRV record / SRV запись
nslookup -type=PTR 4.3.2.1.in-addr.arpa # Reverse DNS / Обратный DNS
Interactive Mode / Интерактивный режим
nslookup
> server 8.8.8.8 # Change DNS server / Сменить DNS сервер
> set type=MX # Set record type / Установить тип записи
> example.com # Query domain / Запросить домен
> exit # Exit / Выход
🌐 HOST — Simple DNS
Basic Queries / Базовые запросы
host example.com # Default A record / A запись по умолчанию
host -t A example.com # A record / A запись
host -t AAAA example.com # AAAA record / AAAA запись
host -t MX example.com # MX record / MX запись
host -t NS example.com # NS record / NS запись
host -t TXT example.com # TXT record / TXT запись
host -t SOA example.com # SOA record / SOA запись
host -t CNAME www.example.com # CNAME record / CNAME запись
Reverse Lookup / Обратный поиск
host 1.2.3.4 # Reverse DNS / Обратный DNS
host -t PTR 1.2.3.4 # PTR query / PTR запрос
Specific Server / Конкретный сервер
host example.com 1.1.1.1 # Query server / Запросить сервер
host -a example.com # All records / Все записи
host -v example.com # Verbose output / Подробный вывод
📋 Record Types / Типы записей
Common Record Types / Распространённые типы
# A - IPv4 address / IPv4 адрес
# AAAA - IPv6 address / IPv6 адрес
# MX - Mail exchanger / Почтовый обменник
# NS - Nameserver / DNS сервер
# TXT - Text record / Текстовая запись
# CNAME - Canonical name / Каноническое имя
# SOA - Start of authority / Начало зоны
# PTR - Pointer (reverse DNS) / Указатель (обратный DNS)
# SRV - Service locator / Локатор сервиса
# CAA - Certificate authority authorization / Авторизация центра сертификации
# DNSKEY - DNSSEC public key / Публичный ключ DNSSEC
# DS - Delegation signer / Делегированный подписант
SRV Record Format / Формат SRV записи
dig _service._proto.name SRV # Generic SRV / Общий SRV
dig _xmpp-server._tcp.example.com SRV # XMPP server / XMPP сервер
dig _ldap._tcp.example.com SRV # LDAP server / LDAP сервер
dig _kerberos._tcp.example.com SRV # Kerberos server / Kerberos сервер
🔬 Advanced Queries / Продвинутые запросы
Trace Full Delegation / Трассировка полной делегации
dig +trace example.com # Full trace / Полная трассировка
dig +trace example.com | grep -A2 "example" # Filter output / Фильтр вывода
DNSSEC Validation / Проверка DNSSEC
dig example.com +dnssec # DNSSEC query / DNSSEC запрос
dig example.com +dnssec +multiline # Multiline output / Многострочный вывод
dig DNSKEY example.com # DNSSEC keys / DNSSEC ключи
dig DS example.com # DS records / DS записи
Zone Transfer (AXFR) / Передача зоны (AXFR)
dig @<NS_SERVER> example.com AXFR # Zone transfer / Передача зоны
dig @<NS_SERVER> example.com AXFR +short # Short zone transfer / Короткая передача зоны
Query Statistics / Статистика запросов
dig example.com +stats # Query stats / Статистика запроса
dig example.com +noall +stats # Only stats / Только статистика
Multiple Queries / Множественные запросы
dig example.com A example.com MX # Multiple types / Несколько типов
dig @1.1.1.1 @8.8.8.8 example.com # Multiple servers / Несколько серверов
🐛 Troubleshooting / Устранение неполадок
Check DNS Resolution / Проверка разрешения DNS
dig example.com # Basic check / Базовая проверка
dig example.com @8.8.8.8 # Alternative DNS / Альтернативный DNS
dig example.com +trace # Trace delegation / Трассировка делегации
Check Specific Record / Проверка конкретной записи
dig example.com MX +short # MX records / MX записи
dig example.com NS +short # NS records / NS записи
dig example.com A +short # A records / A записи
DNS Propagation / Распространение DNS
dig example.com @1.1.1.1 # Cloudflare DNS / Cloudflare DNS
dig example.com @8.8.8.8 # Google DNS / Google DNS
dig example.com @208.67.222.222 # OpenDNS / OpenDNS
dig example.com @<AUTHORITATIVE_NS> # Authoritative NS / Авторитативный NS
Check TTL / Проверка TTL
dig example.com | grep -A1 "ANSWER SECTION" # Show TTL / Показать TTL
dig example.com +noall +answer +ttlid # TTL display / Отображение TTL
DNS Response Time / Время ответа DNS
dig example.com +stats | grep "Query time" # Query time / Время запроса
time dig example.com +short # Total time / Общее время
Check Local DNS / Проверка локального DNS
cat /etc/resolv.conf # Local DNS config / Локальная конфигурация DNS
systemd-resolve --status # Systemd DNS status / Статус DNS systemd
resolvectl status # Alternative status / Альтернативный статус
🌟 Real-World Examples / Примеры из практики
Email Server Setup / Настройка почтового сервера
dig example.com MX +short # Mail servers / Почтовые серверы
dig example.com TXT +short | grep spf # SPF record / SPF запись
dig _dmarc.example.com TXT +short # DMARC record / DMARC запись
dig default._domainkey.example.com TXT +short # DKIM record / DKIM запись
SSL/TLS Certificate Validation / Проверка SSL/TLS сертификата
dig example.com CAA # CAA records / CAA записи
dig _acme-challenge.example.com TXT # LetsEncrypt validation / Проверка LetsEncrypt
Cloudflare Check / Проверка Cloudflare
dig example.com A +short # Check if Cloudflare / Проверка Cloudflare
dig example.com NS +short # Cloudflare nameservers / NS Cloudflare
Kubernetes DNS / DNS Kubernetes
dig kubernetes.default.svc.cluster.local @10.96.0.10 # K8s service / Сервис K8s
dig myapp.default.svc.cluster.local @10.96.0.10 # Custom service / Пользовательский сервис
Monitor DNS Changes / Мониторинг изменений DNS
watch -n 5 'dig example.com +short' # Monitor every 5s / Мониторинг каждые 5с
while true; do dig example.com +short; sleep 10; done # Continuous monitoring / Непрерывный мониторинг
Batch DNS Lookup / Пакетный DNS поиск
for domain in example.com example.org example.net; do dig $domain A +short; done # Multiple domains / Несколько доменов
cat domains.txt | xargs -I{} dig {} A +short # From file / Из файла
DNS Leak Test / Тест утечки DNS
dig whoami.akamai.net +short # Your resolver IP / IP вашего резолвера
dig resolver.dnscrypt.info TXT +short # DNSCrypt resolver / DNSCrypt резолвер
dig o-o.myaddr.l.google.com TXT +short # Google resolver check / Проверка Google резолвера
Root Nameservers / Корневые NS серверы
dig . NS +short # Root nameservers / Корневые NS серверы
dig @a.root-servers.net . NS # Query root server / Запрос корневого сервера
Check Subdomain / Проверка поддомена
dig www.example.com # WWW subdomain / WWW поддомен
dig mail.example.com # Mail subdomain / Mail поддомен
dig api.example.com # API subdomain / API поддомен
DNS over HTTPS (DoH) / DNS через HTTPS
curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=A' # Cloudflare DoH / Cloudflare DoH
curl -H 'accept: application/dns-json' 'https://dns.google/resolve?name=example.com&type=A' # Google DoH / Google DoH
💡 Best Practices / Лучшие практики
Always check authoritative nameservers / Всегда проверяйте авторитативные NS
Use +short for scripting / Используйте +short для скриптов
Check multiple DNS servers for propagation / Проверяйте несколько DNS серверов для распространения
Use +trace to debug delegation issues / Используйте +trace для отладки делегации
Monitor TTL for cache timing / Мониторьте TTL для кеширования
📋 Common DNS Servers / Распространённые DNS серверы
# 1.1.1.1, 1.0.0.1 — Cloudflare
# 8.8.8.8, 8.8.4.4 — Google
# 9.9.9.9, 149.112.112.112 — Quad9
# 208.67.222.222, 208.67.220.220 — OpenDNS
# 94.140.14.14, 94.140.15.15 — AdGuard
🔧 Configuration Files / Файлы конфигурации
# /etc/resolv.conf — DNS resolver config / Конфигурация DNS резолвера
# /etc/hosts — Local DNS overrides / Локальные DNS переопределения
# /etc/systemd/resolved.conf — Systemd DNS config / Конфигурация DNS systemd