Cum să utilizați comanda dig pe Linux

Să analizăm element cu element.

; > DiG 9.11.3-1ubuntu1.11-Ubuntu > wdzwdz.com ;; opțiuni generale: +cmd ;; Răspuns: ;; ->>HEADER

Acum, iată semnificația acestor informații:

Prima linie: indică versiunea utilitarului dig și domeniul care a fost analizat.
Opțiuni generale: așa cum vom observa, dig poate fi utilizat pentru a analiza simultan multiple domenii. Această linie prezintă opțiunile aplicate tuturor interogărilor de domeniu. În cazul nostru, a fost utilizată doar opțiunea implicită +cmd (comandă).
Tipul de operație: Interogare: reprezintă tipul de operație solicitată, care în acest caz este o interogare. Această valoare poate fi și o interogare inversă sau o stare, în cazul în care se verifică doar starea sistemului DNS.
Stare: Fără erori: indică faptul că nu au fost înregistrate erori și solicitarea a fost rezolvată corespunzător.
ID: 12017: este un identificator aleatoriu care asociază cererea și răspunsul.
Indicatori: qr rd ra: reprezintă interogarea, recursivitatea dorită și recursivitatea disponibilă. Recursiunea este o metodă de căutare DNS (cealaltă fiind iterativă). Se poate observa și AA, care înseamnă Răspuns Autorizat, indicând că un Server de Nume Autorizat a oferit răspunsul.
Interogare: 1: reprezintă numărul de interogări din sesiunea curentă, care a fost una.
Răspuns: 4: indică numărul de răspunsuri primite, care este patru.
Autoritate: 0: este numărul de răspunsuri primite de la un server de nume autorizat, care în acest caz a fost zero. Răspunsul a fost returnat din memoria cache a unui server DNS precedent. Nu va exista nicio secțiune autorizată în răspuns.
Suplimentar: 1: indică prezența unor informații suplimentare. (În mod curios, nimic nu este afișat decât dacă această valoare este doi sau mai mare.)

Secțiunea Opt Pseudo

În continuare, în Secțiunea Opt Pseudo observăm:

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 65494
  

Să analizăm acest aspect:

EDNS: versiunea 0: reprezintă versiunea mecanismului Extensii pentru DNS care este utilizată. EDNS transmite date și semnalizări extinse prin extinderea dimensiunii pachetelor Protocolului Datagramă Utilizator (UDP). Acest lucru este indicat de un indicator de dimensiune variabilă.
Semnalizări: nu sunt utilizate semnalizări.
udp: 4096: reprezintă dimensiunea pachetului UDP.

Secțiunea de Întrebări

În secțiunea Întrebări, observăm următoarele:

    ;; QUESTION SECTION:
    ;wdzwdz.com. IN A
  

Iată ce reprezintă aceste date:

wdzwdz.com: este numele de domeniu analizat.
IN: efectuăm o interogare de clasă internet.
A: în mod implicit, dig va solicita o înregistrare A (adresă) de la serverul DNS.

Secțiunea de răspunsuri

Secțiunea Răspuns conține cele patru răspunsuri primite de la serverul DNS:

    wdzwdz.com. 3551 IN A 151.101.194.217
    wdzwdz.com. 3551 IN A 151.101.130.217
    wdzwdz.com. 3551 IN A 151.101.66.217
    wdzwdz.com. 3551 IN A 151.101.2.217
  

Iată semnificația acestor răspunsuri:

3551: este Timpul de Viață (TTL), un număr întreg de 32 de biți care indică perioada de timp în care o înregistrare poate fi stocată în cache. La expirare, datele trebuie utilizate într-un răspuns la o solicitare, până când sunt actualizate de serverul DNS.
IN: am efectuat o interogare de clasă internet.
A: am solicitat o înregistrare A de la serverul DNS.

Secțiunea Statistici

Secțiunea Statistici este ultima și conține următoarele informații:

    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.53#53(127.0.0.53)
    ;; WHEN: Sun Mar 22 07:44:37 EDT 2020
    ;; MSG SIZE rcvd: 106
  

Iată ce avem:

Timp de interogare: 0 ms: reprezintă timpul necesar pentru a primi răspunsul.
SERVER: 127.0.0.53#53(127.0.0.53): indică adresa IP și portul serverului DNS care a răspuns. În acest caz, se referă la soluția locală de stocare în cache. Aceasta redirecționează solicitările DNS către serverele DNS amonte care sunt configurate. Pe computerul de test Manjaro, adresa era 8.8.8.8#53, care este serviciul DNS public Google.
CÂND: Duminică, 22 mar 07:44:37 EDT 2020: este momentul în care a fost făcută solicitarea.
MSG SIZE rcvd: 106: este dimensiunea mesajului primit de la serverul DNS.

Selectivitate

Nu trebuie să te limitezi la extreme: tăcere sau abundență de informații. Comanda dig îți permite să incluzi sau să excluzi selectiv secțiuni din rezultate.

Următoarele opțiuni de interogare vor elimina acea secțiune din rezultate:

+nocomments: nu afișa liniile de comentarii.
+noauthority: nu afișa secțiunea de autoritate.
+noadditional: nu afișa secțiunea suplimentară.
+nostats: nu afișa secțiunea de statistici.
+noanswer: nu afișa secțiunea de răspuns.
+noall: nu afișa nimic!

Opțiunea de interogare +noall este de obicei combinată cu una dintre cele de mai sus pentru a include o secțiune în rezultate. În loc să introduci un șir lung de opțiuni pentru a dezactiva secțiuni, poți folosi +noall pentru a le dezactiva pe toate.

Apoi, poți utiliza opțiunile de interogare incluse pentru a reactiva secțiunile dorite:

+comments: afișează liniile de comentarii.
+authority: afișează secțiunea de autoritate.
+additional: afișează secțiunea suplimentară.
+stats: afișează secțiunea de statistici.
+answer: afișează secțiunea de răspuns.
+all: afișează totul.

Introducem următoarele pentru a face o solicitare și a exclude liniile de comentarii:

dig wdzwdz.com +nocomments

Dacă utilizăm opțiunea de interogare +noall singură, așa cum se vede mai jos, nu vom primi niciun rezultat util:

dig wdzwdz.com +noall

Putem adăuga selectiv secțiunile dorite. Pentru a adăuga secțiunea de răspuns, introducem următoarele:

dig wdzwdz.com +noall +answer

Dacă introducem următoarele pentru a activa +stats, vom vedea și secțiunea de statistici:

dig wdzwdz.com +noall +answer +stats

Combinația +noall +answer este folosită frecvent. Poți adăuga alte secțiuni la linia de comandă în funcție de necesități. Dacă dorești să eviți introducerea +noall +answer de fiecare dată când utilizezi dig, le poți salva într-un fișier de configurare numit „.digrc”, aflat în directorul tău principal.

Introducem următoarele pentru a crea unul cu echo:

echo "+noall +answer" > $HOME/.digrc

Putem introduce apoi următoarele pentru a verifica conținutul:

cat .digrc

comenzile $HOME/.digrc” și „cat .digrc” într-o fereastră de terminal.” width=”646″ height=”122″ >

Aceste două opțiuni vor fi aplicate oricărei utilizări viitoare a dig, așa cum se vede mai jos:

dig ubuntu.org
dig linux.org
dig github.com

Acest fișier de configurare dig va fi folosit pentru exemplele din restul acestui articol.

Înregistrări DNS

Informațiile returnate la solicitările tale dig sunt extrase din diferite tipuri de înregistrări stocate pe serverul DNS. Dacă nu soliciți altceva, dig va interoga înregistrarea A (adresă). Următoarele sunt tipurile de înregistrări utilizate frecvent cu dig:

Înregistrare A: asociază domeniul cu o adresă IP versiunea 4.
Înregistrare MX: înregistrarea schimbului de e-mail direcționează e-mailurile trimise către domenii către serverul de e-mail corespunzător.
Înregistrare NS: înregistrările serverului de nume deleagă un domeniu (sau subdomeniu) unui set de servere DNS.
Înregistrare TXT: înregistrările text stochează informații textuale despre domeniu. De obicei, acestea pot fi utilizate pentru a preveni e-mailurile falsificate sau contrafăcute.
Înregistrare SOA: începutul înregistrărilor de autoritate conține multe informații despre domeniu. Aici, poți găsi serverul de nume principal, persoana responsabilă, un marcaj de timp pentru modificări, frecvența actualizărilor zonei și o serie de limite de timp pentru reîncercări și abandon.
TTL: timpul de viață este o setare pentru fiecare înregistrare DNS, specificând cât timp un server DNS precedent poate păstra în cache fiecare interogare DNS. La expirarea acestui timp, datele trebuie actualizate pentru cererile ulterioare.
ANY: această opțiune îi indică lui Dig să returneze toate tipurile de înregistrări DNS disponibile.

Specificarea tipului de înregistrare A nu modifică acțiunea implicită, care este de a interoga înregistrarea adresei și de a obține adresa IP, așa cum se vede mai jos:

dig redhat.com A

Pentru a interoga înregistrările schimbului de e-mail, utilizăm următorul indicator MX:

dig yahoo.com MX

Indicatorul serverului de nume returnează următoarele nume ale serverelor de nume rădăcină asociate domeniului de nivel superior:

dig fedora.com NS

Pentru a interoga începutul înregistrării de autoritate, introducem următorul semnal SOA:

dig manjaro.com SOA

Indicatorul TTL ne va arăta timpul de viață pentru datele din memoria cache a serverului DNS. Dacă facem mai multe solicitări, observăm că timpul de viață scade la zero, apoi revine la valoarea inițială.

Introducem următoarele:

dig usa.gov TTL

Pentru a vedea înregistrările text, introducem semnalul TXT:

dig usa.gov TXT

Specificarea Serverului DNS

Dacă vrei să utilizezi un anumit server DNS pentru cererea ta, poți folosi semnul @ pentru a-l transmite ca parametru de linie de comandă.

Cu serverul DNS implicit (vezi mai jos), dig folosește soluția locală de stocare în cache la 127.0.0.53.

dig usa.gov +stats

Acum, introducem următoarele pentru a utiliza serverul DNS public Google de la 8.8.8.8:

dig @8.8.8.8 usa.gov +stats

Utilizarea dig cu Multiple Domenii

Putem trece mai multe domenii la dig pe linia de comandă, așa cum se vede mai jos:

dig ubuntu.org fedora.org manjaro.com

Dacă verifici regulat un set de domenii, le poți stoca într-un fișier text și le poți transmite la dig. Toate domeniile din fișier vor fi verificate pe rând.

Fișierul nostru se numește „domains.txt”. Vom folosi cat pentru a arăta conținutul, apoi îl vom transmite la dig cu opțiunea -f (fișier). Introducem următoarele:

cat domains.txt
dig -f domains.txt

Căutări Inverse DNS

Dacă ai o adresă IP și dorești să afli unde duce, poți încerca o căutare inversă DNS. Dacă se rezolvă la un server înregistrat la un server DNS, poți afla domeniul său.

Acest lucru depinde de prezența unei înregistrări PTR (pointer). PTR-urile rezolvă o adresă IP într-un nume de domeniu complet calificat. Totuși, deoarece nu sunt obligatorii, nu sunt mereu prezente.

Să vedem dacă putem afla unde ne duce adresa IP 209.51.188.148. Introducem următoarele, utilizând opțiunea -x (căutare inversă):

dig -x 209.51.188.148

Presto! Adresa IP se rezolvă la gnu.org.

Deoarece un PTR este o înregistrare DNS și știm că dig poate solicita înregistrări DNS specifice, nu am putea pur și simplu cere lui dig să recupereze PTR-ul pentru noi? Da, putem, dar necesită un efort mai mare.

Trebuie să furnizăm adresa IP în ordine inversă și să adăugăm .in-addr.arpa la final, după cum se vede mai jos:

dig ptr 148.188.51.209.in-addr.arpa

Obținem același rezultat, dar a necesitat un pic mai mult efort.

Poți să-l Sapi?

Utilizăm cu toții internetul zilnic, iar mințile curioase s-au întrebat adesea cum se întâmplă magia când introducem un nume de site web într-un browser. Cu dig, poți explora procesele rețelei.