dig

Odpytuje serwery DNS o rekordy domeny (A, MX, NS, TXT) z możliwością odwrotnego lookupu.

dig (Domain Information Groper) to scyzoryk do gadania z serwerami DNS. Pytasz nim, jakie rekordy ma domena: na jaki adres IP wskazuje (A/AAAA), kto obsługuje jej pocztę (MX), które serwery nazw nią zarządzają (NS) czy co siedzi w rekordach TXT (np. SPF, weryfikacje). Wypluwa surowe, szczegółowe dane prosto z DNS-a, więc gdy strona „nie działa”, a chcesz wiedzieć dlaczego, zaczynasz właśnie od niego. Należy do pakietu bind-utils / dnsutils.

Składnia i najważniejsze opcje

Podstawowa forma to: dig [@serwer] domena [TYP] [opcje]. Domyślnie pyta serwer z /etc/resolv.conf o rekord A.

  • @serwer — wskazuje, który serwer DNS odpytać, np. @8.8.8.8 zamiast domyślnego z systemu.
  • TYP — typ rekordu jako argument: A, AAAA, MX, NS, TXT, CNAME, SOA, ANY.
  • +short — tryb „tylko konkrety”: zwraca samą odpowiedź bez nagłówków i sekcji.
  • -x IP — reverse lookup, czyli pyta o rekord PTR (jaka nazwa kryje się za danym adresem IP).
  • +trace — śledzi rozwiązywanie od serwerów root w dół, krok po kroku.
  • +noall +answer — wycisza wszystko poza sekcją ANSWER (czytelny output do skryptów).
  • -t TYP — alternatywny sposób podania typu rekordu (równoważny argumentowi pozycyjnemu).
  • -p port — pyta na innym porcie niż domyślny 53 (przydatne przy testach lokalnych).

Przykłady użycia

  • dig learningzone.pl — sprawdza rekord A domeny, pełny output z nagłówkiem i statusem.
  • dig learningzone.pl MX +short — pokazuje tylko serwery pocztowe, bez zbędnego szumu.
  • dig @1.1.1.1 example.com A — odpytuje konkretnie resolver Cloudflare, by porównać z tym, co widzi Twój system.
  • dig -x 8.8.8.8 +short — reverse lookup: zwraca nazwę przypisaną do adresu IP.
  • dig example.com NS +trace — pokazuje całą ścieżkę delegacji od roota do serwerów autorytatywnych domeny.

Częste błędy i pułapki

Najczęstsza wpadka: patrzysz na pole ANSWER SECTION, a Twoja odpowiedź siedzi w AUTHORITY albo dostajesz status NXDOMAIN (domena nie istnieje) zamiast NOERROR — czytaj status w nagłówku, nie tylko liczby. Pamiętaj też, że domyślnie pytasz swój resolver, więc widzisz to, co on ma w cache, a nie zawsze świeży stan świata. Chcesz prawdy bez cache? Pytaj serwer autorytatywny domeny (@ns1.domena). Na świeżych systemach Linux dig bywa nieobecny — doinstaluj dnsutils (Debian/Ubuntu) lub bind-utils (RHEL/Fedora). Na macOS jest w komplecie. I drobnostka: dig domena ANY coraz częściej zwraca okrojoną odpowiedź, bo wielu operatorów świadomie ją ogranicza, więc nie traktuj ANY jako wyroczni.

Powiązane komendy: nslookup (prostszy, interaktywny odpowiednik), host (jeszcze krótszy do szybkich zapytań), whois (dane rejestracyjne domeny), ping i traceroute (diagnostyka łączności po ustaleniu IP).