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:
- Il nome di dominio da cercare.
- Periodo di durata: un'impostazione che indica al risolutore DNS per quanto tempo memorizzare nella cache una query prima di richiederne una nuova.
- Classe della query – IN si riferisce a Internet.
- Tipo di query DNS: può essere A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA, ecc.
- 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.