fb-pixel

Verificare i record DNS con il comando dig su Linux

Pubblicato in:

by:

Vuoi sapere come usare il comando dig su Linux? In questa guida ti mostreremo come si usa il comando con le sue opzioni di base. Imparerai come ottenere informazioni sui record DNS dei domini e fare una ricerca inversa a partire da un IP.

Iniziamo!

Sintassi del comando dig

Il comando dig (domain information groper) ci permette di avere informazioni sui DNS e di risolvere eventuali problemi con i record DNS.

La sintassi di base del comando dig è questa:

dig [hostname/indirizzo IP] [tipo di record]

Per esempio per avere informazioni sui record MX del dominio esempio.com, userò il comando:

dig esempio.com MX

Nel corso di questo articolo ti mostrerò diversi esempi che ti aiuteranno a capire meglio come si usa il comando dig.

Casi d’uso del comando dig

Con il comando dig possiamo avere informazioni sui record DNS dei domini.

Possiamo usare dig per diverse funzioni, tra cui:

  • avere informazioni su tutti i record DNS o su un record specifico;
  • ricavare l’indirizzo IP associato a un dominio (DNS lookup);
  • ottenere il dominio associato a un IP (reverse DNS lookup).

Alcune di queste informazioni possono essere ottenute anche con il comando nslookup. Se usiamo dig, nell’output avremo informazioni aggiuntive.

Ecco un confronto tra gli output dei due comandi:

Comando Dig Vs Comando Nslookup

In questo esempio:

  • con entrambi i comandi (senza usare opzioni) ottengo il record A (indirizzo IP, in formato IPv4, associato al dominio indicato);
  • con dig posso avere altre informazioni, tra cui il TTL.

Adesso, andiamo a vedere come si usa il comando dig e come leggere l’output.

Verificare i record A di un dominio

Se usiamo il comando dig senza specificare il tipo di record, verranno mostrati tutti i record A associati a quel dominio.

Vediamo un esempio.

Usiamo il comando:

dig wikipedia.org

L’output che ci viene fornito ci dà diverse informazioni, vediamo come interpretarle.

Nella sezione Answer possiamo vedere 5 elementi in colonna:

wikipedia.org. 23 IN A 185.15.58.224
  1. Il dominio che abbiamo richiesto: wikipedia.org
  2. Il TTL (Time to live) indica per quanto tempo (in secondi) verrà conservato questo record DNS nella cache: 23.
  3. “IN” si riferisce alla classe di appartenenza del record, e indica Internet.
  4. Tipo di record, in questo caso: A.
  5. Contenuto del record A, quindi l’indirizzo IP associato al dominio: 185.15.58.224.
Comando Dig Output

Le altre informazioni presenti nell’output sono:

Prima riga: in questa possiamo vedere la versione di dig che stiamo usando.

; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> wikipedia.org

Sezione Header, qui possiamo vedere i dettagli sulla richiesta inviata (lo status: NOERROR ci indica che è andata a buon fine).

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23143 ;; 
flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

Nella sezione “OPT PSEUDOSECTION” vedremo eventuali flag specifici e la dimensione del pacchetto di dati udp.

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

La sezione Question ci mostra la query che è stata inviata, in questo caso la richiesta del record A.

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

Dopo la sezione Answer, che abbiamo visto prima, troviamo quest’ultima sezione che indica:

  • Query time: quanto tempo è stato necessario per avere risposta;
  • SERVER: il server che ha risposto;
  • WHEN: la data della richiesta;
  • MSG SIZE rcvd: la dimensione della risposta ottenuta.
;; Query time: 60 msec 
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) 
;; WHEN: Fri May 09 10:48:38 CEST 2025 
;; MSG SIZE rcvd: 58

Come fare un reverse DNS lookup

Possiamo usare il comando dig da terminale sia per avere informazioni su un dominio che per fare una ricerca inversa (quella che viene chiamata reverse DNS lookup).

Per la ricerca inversa ci basta usare il comando dig con l’opzione -x in questo modo:

dig -x [indirizzo IP]

Usando il comando dig con l’opzione -x viene fatta una ricerca del record PTR e si può risalire al dominio associato a un determinato IP.

In questo caso, nell’esempio precedente abbiamo ottenuto l’IP associato al dominio wikipedia.org, ora facendo un reverse DNS lookup di questo IP, otteniamo text-lb.drmrs.wikimedia.org.

Reverse Lookup Dns Comando Dig

Fare una richiesta usando un DNS specifico

Se non specifichiamo un DNS, il comando dig userà i server DNS locali. Possiamo scegliere ad esempio di utilizzare i server DNS di Google:

  • server primario: 8.8.8.8
  • server secondario: 8.8.4.4

Per farlo, ci basta specificare il server da usare in questo modo:

dig @8.8.8.8 wikipedia.org

Nell’esempio qui sotto puoi vedere che nell’ultima sezione il server utilizzato cambia:

  • se non specificato, viene usato il server DNS locale;
  • possiamo indicarlo per usare un server DNS specifico (nell’esempio, uno dei server DNS di Google).
Comando Dig Specificare Dns

Verificare tutti i record di un dominio

Come altri comandi Linux, anche dig ha delle opzioni che ci permettono di modificare l’output o il comportamento stesso del comando.

Usando il comando dig senza opzioni, otteniamo informazioni solo sul record A. Se, invece, vogliamo avere informazioni su tutti i record DNS, possiamo usare il comando in questo modo aggiungendo “ANY”:

dig dominio.com ANY

In questo caso l’output cambia in base al dominio e potremo trovare uno o più tipi di record diversi.

Comando Dig Any Record Dns

In questo esempio l’output ci mostra:

  • record SOA che contiene informazioni sulla ZONA DNS;
  • record A che mostra l’IP;
  • record MX che indica i server di posta (in questo caso più di uno grazie all’MX secondario;
  • record TXT che può essere usato per vari scopi, in questo esempio è usato per impostare i record SPF per i server email;
  • record NS che indicano i nameserver.

Verificare uno specifico record DNS

Per visualizzare uno specifico tipo di record DNS associato a un dominio, ci basta usare il comando dig in questo modo:

dig [dominio] [tipo di record]

Vediamo diversi esempi.

Verificare i record NS

Per i record NS, usiamo il comando dig in questo modo:

dig [dominio] NS

Se usiamo il comando in questo modo avremo:

  • una sezione Answer in cui vedremo i record NS;
  • una sezione Additional in cui vedremo anche gli altri record.

Per semplificare la risposta possiamo aggiungere il parametro “+short“.

In questo esempio puoi vedere la differenza di output tra i due comandi:

dig dominio.com NS
dig dominio.com NS +short
Verifica Record Ns Comando Dig Linux

Verificare i record MX

Per ottenere solo informazioni sui record MX possiamo usare il comando dig in questo modo:

dig dominio.com MX

Se vogliamo ottenere una risposta più breve senza sezioni aggiuntive, usiamo:

dig dominio.com MX +short

Ecco qui sotto un esempio di entrambi gli output:

  • nel primo caso abbiamo la risposta completa nella sezione Answer:
ivanmessina.it. 1821 IN MX 40 mxbackup1.svrsh.com. 
ivanmessina.it. 1821 IN MX 0 mail.ivanmessina.it. 
ivanmessina.it. 1821 IN MX 50 mxbackup2.svrsh.com.

Nel secondo (con +short), abbiamo solo i record MX:

0 mail.ivanmessina.it. 
50 mxbackup2.svrsh.com. 
40 mxbackup1.svrsh.com
Verifica Record Mx Comando Dig Linux

Verificare più domini

Se vogliamo verificare i record DNS di più domini usando il comando dig, possiamo creare un file di testo e fare eseguire il comando in batch.

Per farlo dobbiamo:

  • creare un file al cui interno inserire la lista di domini e salvarlo in formato .txt;
  • usare il comando dig in questo modo:
dig -f [nome-file]

Possiamo dare l’opzione +short oppure le opzioni +noall +answer per avere il risultato in forma compatta. In questo caso ci saranno forniti solo i record A dei domini inseriti nel file.

Per esempio, ho creato un file “lista_domini.txt” con questi domini:

wikipedia.org 
harvard.edu 
google.com

Poi ho usato il comando:

dig -f lista_domini.txt +noall +answer

L’output ottenuto è questo:

wikipedia.org. 140 IN A 185.15.58.224 
harvard.edu. 558 IN A 192.0.66.20
google.com. 259 IN A 216.58.205.46

Creare un file mi permette di fare più richieste senza usare ogni volta il comando dig per ogni singolo dominio.

Nell’esempio qui sotto ho prima usato il comando cat per visualizzare nel terminale il contenuto del file di testo e poi ho usato il comando dig passandogli il nome del file (nel mio caso lista_domini.txt), per avere un risultato più compatto ho usato le opzioni +noall +answer.

Comando Dig File Lista Domini

Seguire il percorso dei DNS

Possiamo utilizzare l’opzione +trace per far sì che la richiesta parta dal root server, passi per il TLD server e arrivi ai server autoritativi del dominio indicato.

Il comando si usa così:

dig [dominio] +trace

Ecco un esempio di output:

Dig Opzione Trace

Modificare l’output del comando dig

Come abbiamo visto in apertura, ogni volta che usiamo il comando dig ci viene fornito un output con diverse informazioni suddivise in sezioni.

Per rendere il risultato più leggibile, possiamo richiedere un output semplificato in modo da vedere solo quello che ci interessa.

In particolare ci sono due opzioni che possono tornarci utili.

Mostrare solo il valore del record

Se vogliamo che ci venga fornito solo il valore dei record senza altre informazioni, possiamo usare “+short” alla fine del comando.

Abbiamo già visto alcuni esempi prima, ma eccone qualcuno anche qui.

La sintassi del comando è questa:

dig [dominio] [tipo di record] +short

Per esempio:

dig ivanmessina.it A +short

Questo comando ci fornirà in output solo il contenuto del record A, e quindi l’IP.

Comando Dig Opzione Short

Mostrare solo la sezione answer

Se, invece, vogliamo visualizzare solo la sezione Answer, senza le altre, possiamo usare il comando dig seguito da “+noall +answer“.

La sintassi è questa:

dig [dominio] [tipo di record] +noall +answer

Per esempio:

dig ivanmessina.it MX +noall +answer

Questo comando ci mostrerà solo la sezione Answer con i record MX richiesti.

Comando Dig Output Sezione Answer

Conclusioni

Il comando dig è una delle opzioni che possiamo usare quando vogliamo ottenere informazioni sui DNS di un dominio.

Con questo comando è possibile ottenere l’indirizzo IP associato a un dominio o richiedere specifici record come i nameserver (NS) o i record mail exchanger (MX). Il comando quindi è molto utile per fare delle verifiche e risolvere eventuali problemi di configurazione dei record.

Avevi mai usato questo comando per avere informazioni sui DNS o, al suo posto, preferisci usare i tool online? Facci sapere con un commento.


Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *