Android

Comanda Dig în linux (căutare dns)

DNS Enumeration Tutorial - Dig, Nslookup & Host

DNS Enumeration Tutorial - Dig, Nslookup & Host

Cuprins:

Anonim

Dig (Domain Information Groper) este un puternic instrument de linie de comandă pentru interogarea serverelor de nume DNS.

Cu comanda dig , puteți interoga informații despre diverse înregistrări DNS, inclusiv adrese de gazdă, schimburi de poștă și servere de nume. Este instrumentul cel mai des utilizat în rândul administratorilor de sistem pentru soluționarea problemelor DNS, datorită flexibilității și ușurinței sale.

În acest tutorial, vă vom arăta cum să folosiți utilitatea de dig prin exemple practice și explicații detaliate ale celor mai comune opțiuni de dig .

Instalarea dig

Pentru a verifica dacă comanda dig este disponibilă pe tipul dvs. de sistem:

dig -v

Produsul ar trebui să arate așa:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Dacă dig nu este prezent în sistemul dvs., comanda de mai sus va imprima „dig: command not found”. Puteți instala cu ușurință instrumentul de dig folosind managerul de pachete al distro.

Instalați dig pe Ubuntu și Debian

sudo apt update && sudo apt install dnsutils

Instalați dig pe CentOS și Fedora

sudo yum install bind-utils

Instalați dig pe Arch Linux

sudo pacman -S bind-tools

Înțelegerea rezultatului calculat

În forma sa cea mai simplă, atunci când este folosită pentru a interoga o singură gazdă (domeniu) fără alte argumente suplimentare, comanda dig este destul de verosioasă.

În exemplul următor, vom efectua o interogare pentru a prelua informații despre domeniul linux.org .

dig linux.org

Produsul ar trebui să arate așa:

Haideți să mergem secțiune după secțiune și să explicăm ieșirea comenzii dig :

  1. Prima linie a ieșirii imprimă versiunea de săpat instalată și interogarea care a fost invocată. A doua linie arată opțiunile globale (implicit, doar cmd).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    Prima secțiune include detalii tehnice despre răspunsul primit de la autoritatea solicitată (server DNS). Antetul arată opcode-ul (acțiunea efectuată prin dig) și starea acțiunii. În acest exemplu, starea este NOERROR , ceea ce înseamnă că autoritatea solicitată a comunicat interogarea fără nicio problemă.

    ;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5

    Această secțiune poate fi eliminată folosind opțiunea +nocomments , care dezactivează și alte anteturi ale altei secțiuni.

    Secțiunea pseudo "OPT" este afișată în mod implicit doar în versiunile mai noi ale utilității dig. Puteți consulta aici mecanismele de extensie pentru DNS (EDNS).

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

    În secțiunea „ÎNTREBARE”, dig arată întrebarea noastră (întrebare). În mod implicit, dig cererea înregistrării A.

    ;; QUESTION SECTION:;linux.org. IN A

    Puteți dezactiva această secțiune folosind opțiunea +noquestion .

    Secțiunea „RĂSPUNS” ne oferă un răspuns la întrebarea noastră. După cum am menționat deja, în mod implicit, dig va solicita înregistrarea A. Aici, domeniul linux.org indică adresa IP 104.18.59.123 .

    ;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123

    De obicei, nu doriți să dezactivați răspunsul, dar puteți elimina această secțiune din ieșire folosind opțiunea +noanswer .

    Secțiunea „AUTORITATE” ne spune ce server (uri) sunt autoritatea pentru a răspunde la întrebările DNS despre domeniul interogat.

    ;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.

    Puteți dezactiva această secțiune a ieșirii folosind opțiunea +noauthority .

    Secțiunea „SUPLIMENTARE” ne oferă informații despre adresele IP ale serverelor DNS autorizate afișate în secțiunea autoritate.

    ;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82

    Opțiunea +noadditional dezactivează secțiunea suplimentară a unui răspuns.

    Ultima secțiune a rezultatului de săpătură include statistici despre interogare.

    ;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212

    Puteți dezactiva această parte cu opțiunea +nostats .

Tipărirea numai răspunsul

În cele mai multe cazuri, doriți să obțineți doar un răspuns rapid la întrebarea dvs. de săpătură.

1. Obțineți un răspuns scurt

Pentru a obține un răspuns scurt la întrebarea dvs., utilizați opțiunea +short :

dig linux.org +short

104.18.59.123 104.18.58.123

Rezultatul va include doar adresele IP ale înregistrării A.

2. Obțineți un răspuns detaliat

Pentru mai multe răspunsuri detaliate, opriți toate rezultatele folosind opțiunile +noall și apoi porniți numai secțiunea de răspuns cu opțiunea +answer .

dig linux.org +noall +answer

; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123

Serverul de nume specific interogării

În mod implicit, dacă nu este specificat niciun server de nume, dig folosește serverele enumerate în fișierul /etc/resolv.conf .

Pentru a specifica un server de nume împotriva căruia va fi executată interogarea, utilizați simbolul @ (at) urmat de adresa IP sau numele de gazdă al serverului de nume.

De exemplu, pentru a interoga serverul de nume Google (8.8.8.8) pentru informații despre domeniul linux.org care le-ați folosi:

dig linux.org @8.8.8.8

; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70

Solicitați un tip de înregistrare

Dig vă permite să efectuați orice interogare DNS validă prin adăugarea tipului de înregistrare la sfârșitul interogării. În secțiunea următoare, vă vom arăta exemple despre cum puteți căuta cele mai comune înregistrări, cum ar fi A (adresa IP), CNAME (nume canonic), TXT (înregistrare text), MX (schimbător de poștă) și NS (servere de nume).

1. Interogarea înregistrărilor A

Pentru a obține o listă cu toate adresele (adresele) pentru un nume de domeniu, utilizați opțiunea:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

După cum știți deja, dacă nu este specificat niciun tip de înregistrare DNS, digul va solicita înregistrarea A. De asemenea, puteți interoga înregistrarea A fără a specifica opțiunea.

2. Interogarea înregistrărilor CNAME

Pentru a găsi numele de domeniu alias, utilizați opțiunea cname :

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. Interogarea înregistrărilor TXT

Utilizați opțiunea txt pentru a prelua toate înregistrările TXT pentru un anumit domeniu:

dig +nocmd google.com txt +noall +answer

google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

4. Interogarea înregistrărilor MX

Pentru a obține o listă cu toate serverele de poștă pentru un domeniu specific, utilizați opțiunea mx :

dig +nocmd google.com mx +noall +answer

google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.

5. Interogarea înregistrărilor NS

Pentru a găsi serverele de nume autorizate pentru domeniul nostru specific, utilizați opțiunea ns :

dig +nocmd google.com ns +noall +answer

google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.

6. Interogarea tuturor înregistrărilor

Folosiți any opțiune pentru a obține o listă cu toate înregistrările DNS pentru un anumit domeniu:

dig +nocmd google.com any +noall +answer

google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60

Căutare DNS inversă

Pentru a interoga numele de gazdă asociat cu o anumită adresă IP, utilizați opțiunea -x .

De exemplu, pentru a efectua o căutare inversă la 208.118.235.148 ați utiliza:

dig -x 208.118.235.148 +noall +answer

După cum puteți vedea din ieșirea de mai jos adresa IP 208.118.235.148 este asociată cu numele de gazdă wildebeest.gnu.org .

; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.

Întrebări în vrac

În următorul exemplu, întrebăm domeniile listate în fișierul domains.txt .

domains.txt

lxer.com linuxtoday.com tuxmachines.org

dig -f domains.txt +short

108.166.170.171 70.42.23.121 204.68.122.43

Fișierul.digrc

Comportamentul comenzii dig poate fi controlat prin setarea opțiunilor per utilizator în fișierul ${HOME}/.digrc .

Dacă fișierul .digrc este prezent în directorul principal al utilizatorului, opțiunile specificate în acesta se aplică înaintea argumentelor din linia de comandă.

De exemplu, dacă doriți să afișați doar secțiunea de răspuns, deschideți editorul de text și creați următorul fișier ~/.digrc :

~ /.Digrc

+nocmd +noall +answer

Concluzie

dig este un instrument de linie de comandă pentru interogarea informațiilor DNS și depanare a problemelor legate de DNS.

terminal de săpat