androide

Dig comando in linux (ricerca DNS)

NetSecNow - dnsenum Tool Usage, Hacking DNS in Kali Linux 2.0

NetSecNow - dnsenum Tool Usage, Hacking DNS in Kali Linux 2.0

Sommario:

Anonim

Dig (Domain Information Groper) è un potente strumento da riga di comando per eseguire query sui server dei nomi DNS.

Con il comando dig , è possibile richiedere informazioni su vari record DNS, inclusi indirizzi host, scambi di posta e server dei nomi. È lo strumento più comunemente usato dagli amministratori di sistema per la risoluzione dei problemi DNS a causa della sua flessibilità e facilità d'uso.

In questo tutorial, ti mostreremo come utilizzare l'utilità di dig attraverso esempi pratici e spiegazioni dettagliate delle opzioni di dig più comuni.

Install dig

Per verificare se il comando dig è disponibile sul tipo di sistema in uso:

dig -v

L'output dovrebbe assomigliare a questo:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Se dig non è presente sul tuo sistema, il comando sopra stampa "dig: comando non trovato". Puoi facilmente installare lo strumento di dig usando il gestore pacchetti della tua distribuzione.

Installa dig su Ubuntu e Debian

sudo apt update && sudo apt install dnsutils

Installa dig su CentOS e Fedora

sudo yum install bind-utils

Installa dig su Arch Linux

sudo pacman -S bind-tools

Comprensione dell'output di scavo

Nella sua forma più semplice, quando usato per interrogare un singolo host (dominio) senza ulteriori argomenti, il comando dig è piuttosto dettagliato.

Nel seguente esempio, eseguiremo una query per recuperare informazioni sul dominio linux.org .

dig linux.org

L'output dovrebbe assomigliare a questo:

Andiamo sezione per sezione e spieghiamo l'output del comando dig :

  1. La prima riga dell'output stampa la versione di scavo installata e la query invocata. La seconda riga mostra le opzioni globali (per impostazione predefinita, solo cmd).

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

    La prima sezione include i dettagli tecnici sulla risposta ricevuta dall'autorità richiesta (server DNS). L'intestazione mostra il codice operativo (l'azione eseguita dallo scavo) e lo stato dell'azione. In questo esempio, lo stato è NOERROR , il che significa che l'autorità richiesta ha fornito la query senza alcun problema.

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

    Questa sezione può essere rimossa usando l'opzione +nocomments , che disabilita anche le intestazioni di alcune altre sezioni.

    La pseudo sezione "OPT" è mostrata di default solo nelle versioni più recenti dell'utilità di scavo. Qui puoi trovare i meccanismi di estensione per DNS (EDNS).

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

    Nella sezione "DOMANDA" dig mostra la nostra query (domanda). Per impostazione predefinita, dig richiede il record A.

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

    Puoi disabilitare questa sezione usando l'opzione +noquestion .

    La sezione "RISPOSTA" ci fornisce una risposta alla nostra domanda. Come già accennato, per impostazione predefinita lo dig richiederà il record A. Qui, il dominio linux.org punta 104.18.59.123 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

    Di solito, non si desidera disattivare la risposta, ma è possibile rimuovere questa sezione dall'output utilizzando l'opzione +noanswer .

    La sezione "AUTORITÀ" ci dice quali server sono l'autorità per rispondere alle domande DNS sul dominio richiesto.

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

    È possibile disabilitare questa sezione dell'output utilizzando l'opzione +noauthority .

    La sezione "AGGIUNTIVO" ci fornisce informazioni sugli indirizzi IP dei server DNS autorevoli mostrati nella sezione autorità.

    ;; 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

    L'opzione +noadditional disabilita la sezione aggiuntiva di una risposta.

    L'ultima sezione dell'output di scavo include statistiche sulla query.

    ;; 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

    È possibile disabilitare questa parte con l'opzione +nostats .

Stampa solo la risposta

Nella maggior parte dei casi, si desidera ottenere solo una risposta rapida alla query di scavo.

1. Ottieni una risposta breve

Per ottenere una risposta breve alla tua query, utilizza l'opzione +short :

dig linux.org +short

104.18.59.123 104.18.58.123

L'output includerà solo gli indirizzi IP del record A.

2. Ottieni una risposta dettagliata

Per una risposta più dettagliata, disattiva tutti i risultati utilizzando le opzioni +noall e quindi attiva solo la sezione di risposta con l'opzione +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

Server dei nomi specifico per le query

Per impostazione predefinita, se non viene specificato alcun server dei nomi, dig utilizza i server elencati nel file /etc/resolv.conf .

Per specificare un server dei nomi su cui verrà eseguita la query, utilizzare il simbolo @ (at) seguito dall'indirizzo IP o dal nome host del server dei nomi.

Ad esempio, per interrogare il server dei nomi di Google (8.8.8.8) per informazioni sul dominio linux.org dovresti usare:

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

Eseguire una query su un tipo di record

Dig consente di eseguire qualsiasi query DNS valida aggiungendo il tipo di record alla fine della query. Nella sezione seguente, ti mostreremo esempi su come cercare i record più comuni, come A (l'indirizzo IP), CNAME (nome canonico), TXT (record di testo), MX (scambiatore di posta) e NS (server dei nomi).

1. Richiesta di record A

Per ottenere un elenco di tutti gli indirizzi di un nome di dominio, utilizzare l'opzione a:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

Come già sapete, se non viene specificato alcun tipo di record DNS, dig richiederà il record A. È inoltre possibile eseguire una query sul record A senza specificare l'opzione a.

2. Richiesta di record CNAME

Per trovare il nome di dominio alias utilizzare l'opzione cname :

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

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

3. Richiesta di record TXT

Utilizzare l'opzione txt per recuperare tutti i record TXT per un dominio specifico:

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. Richiesta di record MX

Per ottenere un elenco di tutti i server di posta per un dominio specifico utilizzare l'opzione 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. Richiesta di record NS

Per trovare i server dei nomi autorevoli per il nostro dominio specifico utilizzare l'opzione 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. Richiesta di tutti i record

Utilizzare l'opzione any per ottenere un elenco di tutti i record DNS per un dominio specifico:

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

Ricerca DNS inversa

Per eseguire una query sul nome host associato a un indirizzo IP specifico, utilizzare l'opzione -x .

Ad esempio, per eseguire una ricerca inversa su 208.118.235.148 dovresti usare:

dig -x 208.118.235.148 +noall +answer

Come si può vedere dall'output sotto l'indirizzo IP 208.118.235.148 è associato il nome host 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.

Ricerche in blocco

Nel seguente esempio, stiamo interrogando i domini elencati nel file 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

Il file.digrc

Il comportamento del comando dig può essere controllato impostando le opzioni per utente nel file ${HOME}/.digrc .

Se il file .digrc è presente nella home directory dell'utente, le opzioni specificate vengono applicate prima degli argomenti della riga di comando.

Ad esempio, se si desidera visualizzare solo la sezione delle risposte, aprire l'editor di testo e creare il seguente file ~/.digrc :

~ /.Digrc

+nocmd +noall +answer

Conclusione

dig è uno strumento da riga di comando per la query delle informazioni DNS e la risoluzione dei problemi relativi al DNS.

scavo terminale