Polecenie Dig w Linuksie (DNS Lookup)
Dig (domain Information Groper) jest potężnym narzędziem wiersza poleceń do zapytań serwerów nazw DNS.
poleceniedig
pozwala na odpytywanie informacji o różnych rekordach DNS, w tym adresach hostów, giełdach poczty i serwerach nazw. Jest to najczęściej używane narzędzie wśród administratorów systemu do rozwiązywania problemów DNS ze względu na jego elastyczność i łatwość użycia.,
Ten samouczek wyjaśnia, jak używać narzędziadig
poprzez praktyczne przykłady i szczegółowe wyjaśnienia najczęstszych opcjidig
.
instalacja dig #
aby sprawdzić, czy polecenie dig
jest dostępne w systemie typu:
wyjście powinno wyglądać mniej więcej tak:
Jeśli dig
nie jest obecny w Twoim systemie, powyższe polecenie wyświetli „Dig: command not found”., Narzędziedig
można zainstalować za pomocą menedżera pakietów distro.
zainstaluj dig na Ubuntu i Debianie #
zainstaluj dig na CentOS i Fedorze #
zainstaluj dig Na Arch Linux #
zrozumienie wyjście Dig #
w najprostszej formie, gdy jest używane do odpytywania pojedynczego hosta (domeny) bez żadnych dodatkowych opcji, polecenie dig
jest dość gadatliwe.,
w poniższym przykładzie wykonujemy na domenie linux.org
:
wyjście powinno wyglądać mniej więcej tak:
przejdźmy sekcja po sekcji i wyjaśnijmy wyjście dig
polecenie:
-
pierwsza linia wyjście wyświetla zainstalowaną wersję
dig
I zapytaną nazwę domeny., Druga linia pokazuje opcje globalne (domyślnie tylko cmd).Jeśli nie chcesz, aby te linie były dołączone do wyjścia, użyj opcji
+nocmd
. Opcja ta musi być pierwszą po poleceniudig
. -
następna sekcja zawiera szczegóły techniczne dotyczące odpowiedzi otrzymanej od organu współpracującego (serwera DNS). Nagłówek pokazuje kod opcode (akcję wykonaną przez
dig
) oraz status akcji., W tym przykładzie status jestNOERROR
, co oznacza, że organ współpracujący obsłużył zapytanie bez żadnego problemu.tę sekcję można usunąć za pomocą opcji
+nocomments
, która również wyłącza nagłówki innych sekcji. -
pseudo sekcja „OPT” jest wyświetlana tylko w nowszych wersjach narzędzia
dig
. Więcej o mechanizmach rozszerzeń dla DNS (EDNS) można przeczytać tutaj .,aby wykluczyć tę sekcję z wyjścia, użyj opcji
+noedns
. -
w sekcji” pytanie”
dig
wyświetla zapytanie (pytanie). Domyślniedig
żąda rekordu A.możesz wyłączyć tę sekcję za pomocą opcji
+noquestion
. -
sekcja „odpowiedź” dostarcza nam odpowiedzi na nasze pytanie. Jak już wspomnieliśmy, domyślnie
dig
zażąda rekordu A., Tutaj widzimy, że domenalinux.org
wskazuje na adres IP104.18.59.123
.zazwyczaj nie chcesz wyłączyć odpowiedzi, ale możesz usunąć tę sekcję z wyjścia za pomocą opcji
+noanswer
. -
sekcja „uprawnienia” mówi nam, jakie serwery są uprawnione do odpowiadania na zapytania DNS dotyczące zapytanej domeny.
możesz wyłączyć tę sekcję wyjścia za pomocą opcji
+noauthority
., -
sekcja „dodatkowe” zawiera informacje o adresach IP autorytatywnych serwerów DNS pokazanych w sekcji „autorytatywne”.
opcja
+noadditional
wyłącza dodatkową sekcję odpowiedzi. -
ostatnia sekcja wyjścia
dig
zawiera statystyki dotyczące zapytania.możesz wyłączyć tę część za pomocą opcji
+nostats
.,
drukowanie tylko odpowiedzi #
Ogólnie rzecz biorąc, chcesz uzyskać tylko krótką odpowiedź na zapytaniedig
.
uzyskaj krótką odpowiedź #
aby uzyskać krótką odpowiedź na zapytanie, użyj opcji+short
:
wyjście będzie zawierało tylko adresy IP rekordu A.,
uzyskaj szczegółową odpowiedź #
aby uzyskać bardziej szczegółową odpowiedź, wyłącz wszystkie wyniki za pomocą opcji +noall
, a następnie włącz tylko sekcję odpowiedzi za pomocą opcji +answer
.
Zapytanie o konkretny serwer nazw #
domyślnie, jeśli nie podano serwera nazw,dig
używa serwerów wymienionych w /etc/resolv.conf
plik.,
aby określić serwer nazw, na którym zostanie wykonane zapytanie, użyj symbolu @
(at), po którym następuje adres IP serwera lub nazwa hosta.
na przykład, aby odpytywać serwer nazw Google (8.8.8.8) o informacje o domenie linux.org
używasz:
odpytywać Typ rekordu #
Dig pozwala na wykonanie dowolnego poprawnego zapytania DNS poprzez dodanie typu rekordu na końcu zapytania., W poniższej sekcji pokażemy przykłady wyszukiwania najczęstszych rekordów, takich jak A( adres IP), CNAME (nazwa kanoniczna), TXT (rekord tekstowy), MX (wymiennik poczty) i ns (serwery nazw).
Zapytanie o rekord #
aby uzyskać listę wszystkich adresów dla nazwy domeny, użyj opcji a
:
jak już wiesz, jeśli żaden typ rekordu DNS nie jest określony, dig
zażąda rekordu A., Można również odpytywać rekord A bez podawania opcji a
., wszystkie serwery pocztowe dla określonej domeny używają opcji mx
:
sprawdzanie rekordów NS #
aby znaleźć autorytatywne serwery nazw dla naszej konkretnej domeny, użyj opcji ns
:
iv
sprawdzanie wszystkich rekordów #
użyj opcji any
aby uzyskać listę wszystkich rekordów DNS dla określonej domeny:
reverse DNS lookup #
aby zadać pytanie o nazwę hosta powiązane z określonym adresem IP użyj opcji -x
.,
na przykład, aby wykonać odwrotne wyszukiwanie na 208.118.235.148
należy wpisać:
Jak widać z wyjścia poniżej adres IP 208.118.235.148
jest powiązany z nazwą hosta wildebeest.gnu.org
.
zapytania zbiorcze #
Jeśli chcesz odpytywać dużą liczbę domen, możesz dodać je do pliku (jedna domena na linię) I użyć opcji -f
, po której następuje nazwa pliku.,
w poniższym przykładzie sprawdzamy domeny wymienione w pliku domains.txt
.
The .plik digrc #
zachowanie polecenia dig
można kontrolować, ustawiając opcje dla każdego użytkownika w pliku ${HOME}/.digrc
.
Jeśli plik.digrc
znajduje się w katalogu domowym użytkownika, opcje w nim określone są stosowane przed argumentami linii poleceń.,
na przykład, jeśli chcesz wyświetlić tylko sekcję odpowiedzi, otwórz edytor tekstu i utwórz następujący plik ~/.digrc
:
podsumowanie #
dig
jest narzędziem wiersza poleceń do zapytań o informacje DNS i rozwiązywania problemów związanych z DNS.