Ricerca nel sito web

Comando Dig: i casi d'uso più comuni negli esempi


Questa guida ricca di esempi mostra come sfruttare al meglio il comando dig di Linux per eseguire ricerche DNS, ricerche inverse e altro ancora.

Il comando dig, abbreviazione di Domain Information Groper, è uno strumento estremamente versatile e utile per gli amministratori di rete e coloro che lavorano nel campo dei DNS (Domain Name System). Ti consente di interrogare i server DNS per informazioni su indirizzi host, scambi di posta, server dei nomi e altri record DNS correlati.

Questo potente comando ha molte applicazioni e può essere utilizzato per varie attività, dalle semplici ricerche DNS alla risoluzione e all'analisi dei problemi più avanzate. Questo articolo esplorerà alcuni dei casi d'uso più comuni per il comando dig e fornirà esempi per illustrarne la funzionalità.

Inoltre, il comando nslookup è uno strumento popolare che può essere utilizzato al posto del comando dig. Ha funzionalità simili e solitamente è più facile da usare, sebbene non abbia le funzionalità più avanzate offerte da dig. Troverai molto utile la nostra guida sull'argomento se vuoi imparare come utilizzare il comando nslookup.

Installazione del comando Dig

Se il comando dig non è installato sulla tua distribuzione Linux, puoi installarlo rapidamente e facilmente utilizzando uno dei comandi seguenti.

Debian e distribuzioni basate su Debian (Ubuntu, Linux Mint, Pop!_OS)

sudo apt install dnsutils

Distribuzioni basate su Red Hat e RHEL (Fedora, CentOS Stream, AlmaLinux, Rocky Linux)

sudo dnf install bind-utils

Arch Linux e distribuzioni basate su Arch (Manjaro, EndeavourOS, Garuda Linux)

sudo pacman -S dnsutils

openSUSE

sudo zypper in bind-utils

Sintassi del comando Dig

La sintassi di base del comando dig è:

dig [@server] [name] [type]
  • @server: il nome host o l'indirizzo IP del server DNS a cui è indirizzata la richiesta. Se non viene specificato alcun server DNS, dig utilizza il server DNS attualmente configurato per il tuo sistema.
  • nome: specifica il nome del dominio da cercare.
  • tipo: il tipo di record DNS da recuperare. Se lasciato vuoto, dig recupera il tipo di record A per impostazione predefinita.

Per fare un esempio, per recuperare il record MX per il dominio archlinux.org utilizzando il server DNS di Google su 8.8.8.8, il nostro dig sarebbe il seguente:

dig @8.8.8.8 archlinux.org MX

Ricerca DNS di base con dig

Quando non vengono fornite altre opzioni, il comando dig visualizzerà per impostazione predefinita il record A nella sezione RISPOSTA.

dig archlinux.org

Questa sezione ha cinque colonne, ciascuna delle quali rappresenta:

  1. Il nome di dominio da cercare.
  2. Periodo di durata: un'impostazione che indica al risolutore DNS per quanto tempo memorizzare nella cache una query prima di richiederne una nuova.
  3. Classe della query – IN si riferisce a Internet.
  4. Tipo di query DNS: può essere A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA, ecc.
  5. L'indirizzo IP associato al nome di dominio.

Rimuovi i commenti dalla risposta alla query DNS

Puoi ridurre significativamente la quantità di informazioni restituite dal comando dig aggiungendo l'opzione "+nocomments".

dig archlinux.org +nocomments

Interroga solo la sezione Risposte

Dig fornisce un modo semplice per concentrarsi esclusivamente sulla sezione RISPOSTA. Combinando le opzioni "+noall", che cancella tutti i flag di visualizzazione, e "+answer", che include la sezione RISPOSTA nella risposta alla query, si ottiene un risultato pulito e semplice. risultato da leggere.

dig archlinux.org +noall +answer

Restituisci solo l'indirizzo in una risposta

Possiamo semplificare ulteriormente il risultato restituito aggiungendo l'opzione “+short” per rimuovere qualsiasi informazione aggiuntiva dalla risposta alla nostra query dig e ottenere solo l'indirizzo.

dig archlinux.org +short

Specifica del server DNS

Per impostazione predefinita, dig invia query al server DNS specificato come predefinito per l'uso locale sul tuo sistema Linux. A volte, tuttavia, potresti voler inviare la query a un server DNS diverso da quello predefinito. Per fare ciò, utilizzare la sintassi “@server”, dove “server” è l'indirizzo IP o il nome del server DNS.

Ad esempio, per inviare una query al server DNS di Google che ha un indirizzo IP pari a 8.8.8.8, digitare:

dig @8.8.8.8 archlinux.org

Cerca un tipo di record specifico con dig

I tipi di record DNS variano, i più comuni sono A, CNAME, MX, NS, TXT, ecc. Il loro elenco completo è disponibile qui. Inoltre, puoi utilizzare il comando dig per cercare un tipo di record DNS specifico aggiungendo il suo nome alla fine del comando.

Ad esempio, per ottenere informazioni sul record MX (Mail Exchanger), digitare:

dig archlinux.org MX

Allo stesso modo, puoi inviare richieste per altri tipi di record DNS.

dig archlinux.org NS
dig archlinux.org TXT
dig archlinux.org SOA
dig archlinux.org PTR
dig archlinux.org AAAA

Oppure riunisci tutti i record utilizzando la parola chiave speciale “ALL. “

dig archlinux.org ALL

Traccia il percorso DNS con il comando dig

Se non sei sicuro di dove un'errata configurazione possa causare un problema, puoi eseguire un "+trace" per vedere cosa sta succedendo in ogni fase del processo di ricerca.

Ricerca DNS inversa con dig

Per cercare un nome di dominio tramite il suo indirizzo IP, utilizza l'opzione "-x" di dig. Questa opzione imposta ricerche DNS inverse semplificate per mappare gli indirizzi sui nomi. L'indirizzo può essere un indirizzo IPv4 in notazione decimale puntata o un indirizzo IPv6 delimitato da due punti.

Nell'esempio seguente, dig eseguirà una query DNS inversa per l'indirizzo IP associato ad archlinux.org.

dig -x 95.217.163.246

Query di scavo multiple contemporaneamente

Invece di eseguire una query dig per ciascun dominio separatamente, puoi utilizzare dig per eseguire una ricerca DNS per un elenco di domini (query batch). Per fare ciò, inserisci i nomi di dominio in un file di testo, uno per riga, ed esegui la query dig sul file utilizzando l'opzione “-f”.

Abbiamo anche aggiunto l'opzione "+short" per visualizzare comodamente i risultati delle query.

dig -f domains.txt +short

Regola le opzioni di scavo predefinite

Può essere fastidioso scrivere ripetutamente il comando dig con le stesse opzioni se lo usiamo frequentemente. Fortunatamente il file “~/.digrc” ci permette di ridefinire tutti i valori predefiniti con cui viene eseguito il comando in modo da non doverli scrivere ogni volta.

Supponiamo che tu voglia che dig mostri sempre l'output della query con i commenti rimossi per impostazione predefinita. Crea un file ".digrc" nella tua directory home e aggiungi l'opzione appropriata, in questo esempio "+nocomments". Se desideri includere più opzioni, posizionale una dopo l'altra su una riga separata.

vim ~/.digrc

Salvare il file ed uscire. La prossima volta che eseguirai il comando dig senza altre opzioni, otterrai solo la risposta breve alla tua query DNS.

dig archlinux.org

Conclusione

Il comando dig è una risorsa preziosa per gli amministratori di sistema e gli ingegneri di rete, dalle query di base a quelle complesse. Che tu stia risolvendo problemi DNS, ricercando nomi di dominio o semplicemente controllando le informazioni di un sito Web specifico, il comando dig offre una soluzione versatile. Con numerose opzioni e flag, puoi personalizzare l'output per soddisfare le tue esigenze ed estrarre le informazioni richieste.

In questo articolo abbiamo trattato l'uso più frequente del comando dig per interrogare i server DNS. Speriamo di esserti stati d'aiuto. Puoi trovare ulteriori informazioni su dig nella sua pagina di manuale.

Non esitate a lasciare commenti, suggerimenti e aggiunte nella sezione seguente.

Articoli correlati: