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

On this page

DNS — dig / nslookup / host 🔍 DIG — DNS Lookup Basic Queries / Базовые запросы Specific DNS Server / Конкретный DNS сервер Query Options / Опции запросов Reverse DNS / Обратный DNS Batch Queries / Пакетные запросы 🔎 NSLOOKUP — Interactive DNS Basic Usage / Базовое использование Interactive Mode / Интерактивный режим 🌐 HOST — Simple DNS Basic Queries / Базовые запросы Reverse Lookup / Обратный поиск Specific Server / Конкретный сервер 📋 Record Types / Типы записей Common Record Types / Распространённые типы SRV Record Format / Формат SRV записи 🔬 Advanced Queries / Продвинутые запросы Trace Full Delegation / Трассировка полной делегации DNSSEC Validation / Проверка DNSSEC Zone Transfer (AXFR) / Передача зоны (AXFR) Query Statistics / Статистика запросов Multiple Queries / Множественные запросы 🐛 Troubleshooting / Устранение неполадок Check DNS Resolution / Проверка разрешения DNS Check Specific Record / Проверка конкретной записи DNS Propagation / Распространение DNS Check TTL / Проверка TTL DNS Response Time / Время ответа DNS Check Local DNS / Проверка локального DNS 🌟 Real-World Examples / Примеры из практики Email Server Setup / Настройка почтового сервера SSL/TLS Certificate Validation / Проверка SSL/TLS сертификата Cloudflare Check / Проверка Cloudflare Kubernetes DNS / DNS Kubernetes Monitor DNS Changes / Мониторинг изменений DNS Batch DNS Lookup / Пакетный DNS поиск DNS Leak Test / Тест утечки DNS Root Nameservers / Корневые NS серверы Check Subdomain / Проверка поддомена DNS over HTTPS (DoH) / DNS через HTTPS 💡 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 серверы 🔧 Configuration Files / Файлы конфигурации