Il comando dig è un'utilità Linux che ti consente di acquisire informazioni su un dominio dalla riga di comando. Il comando è molto vasto con molte opzioni e tag con cui lavorare.
In questo articolo, lavoreremo con gli usi più comuni del comando e dimostreremo alcuni dei tag che possono ottenere server dei nomi e altre informazioni importanti su un dominio specifico. Prima di entrare nel merito, comprendiamo il comando dig.
Qual è il comando dig?
I problemi DNS sono un problema comune che devono affrontare gli amministratori di sistema.
In tal caso, abbiamo bisogno di ottenere informazioni sulla rete per trovare una soluzione. È qui che entra in gioco l'utilità DiG (Domain Information Grabber).
Con il comando dig in Linux, puoi interrogare la rete su qualsiasi tipo di record DNS, come server dei nomi, scambi di posta e indirizzi host. Può anche consentire ricerche DNS inverse.
In questo articolo, capiremo il funzionamento del comando dig in Linux. Quindi daremo un'occhiata ad alcune applicazioni pratiche dello stesso.
Nozioni di base sul comando dig
Ora, il modo migliore per imparare meglio qualsiasi comando attraverso la comprensione della sua sintassi.
Sintassi del comando dig:
dig [tag] [option] @dns-server [hostname/IPaddress] [type]
Qui, utilizziamo i tag per specificare le condizioni per la nostra query. Successivamente, utilizziamo una o più opzioni di query per alternare le specifiche disponibili per la nostra query.
Questo è seguito dal nome o dall'indirizzo del server dei nomi che desideriamo interrogare.
Infine, specifichiamo il record della risorsa che desideriamo interrogare usando il suo nome host o indirizzo. Questo può essere seguito da un tipo per impostare il tipo per la nostra query DNS.
Elenco delle opzioni per lo scavo
Il comando dig fornisce un lungo elenco di opzioni per personalizzare i dati che riceviamo durante l'analisi della nostra rete. Ecco un elenco di alcuni dei tag di comando dig più popolari.
Tagga | Funzione |
-4 / -6 | Specificare la risoluzione IPv4 (per -4) o IPv6 (per -6) dell'indirizzo IP per inviare la query al computer remoto. |
-t | Tipo di query che l'utente desidera al target. Il typer della query può essere impostato su qualsiasi tipo di query supportato trovato nelle specifiche di BIND 9. Il tipo di query predefinito è "A". |
-b | Indirizzo IP di origine per la query. Può essere qualsiasi indirizzo nell'interfaccia di rete dell'host o "::" o "0.0.0.0" |
-f | Questo fa sì che l'utilità dig funzioni in modalità Batch. Qui, tutti i comandi vengono letti tramite un file batch di input al posto dell'input standard. Questo file dovrebbe contenere tutte le query nell'ordine di una per riga. Inoltre, queste query dovrebbero essere nello stesso formato delle query dig utilizzate nella riga di comando. |
-m | Questo tag viene utilizzato per aprire il menu per il debug delle configurazioni di utilizzo della memoria. |
Questi erano solo i tag più comunemente usati disponibili con il comando dig in Linux. Assicurati di controllare gli altri tag nella pagina man per utilizzare tutte le funzionalità del comando dig.
Tipi di query per scavo
Quando si parla di scavo, è necessario conoscere anche i tipi di query. Ecco una tabella contenente alcune utili opzioni di query.
Opzioni query | Descrizione |
+tcp | Attiva/disattiva l'uso di TCP quando interroghiamo un server dei nomi. Per impostazione predefinita, dig utilizza UDP per le sue query a meno che l'utente non richieda una query AXFR o IXFR. |
+cdflag | Attiva/disattiva l'uso del bit "Controllo disabilitazione" in una query utente. Questo chiede al server di evitare di utilizzare la convalida DNSSEC della risposta. Per impostazione predefinita, viene eseguita questa convalida DNSSEC. |
+ricorso | Imposta il bit "Ricorsione desiderata" quando inviamo una query di scavo. Questo bit fa parte di una query per impostazione predefinita. Quindi, dig usa sempre query ricorsive. Tuttavia, la ricorsione è disabilitata in una query +trace o +nssearch. |
+tries=n | Imposta il numero di tentativi per una query UDP su n invece dei tre tentativi che è il numero predefinito. |
+tempo=t | Imposta il numero di secondi prima che una query scada su t. Per impostazione predefinita, questo tempo è impostato a 5 secondi. |
L'aggiunta di "no" tra il segno + e la parola chiave (senza spazi) può causare l'effetto opposto a quello di cui abbiamo discusso sopra.
Questo elenco contiene solo le opzioni di query più comunemente utilizzate nel comando dig in Linux.
Ricordati di controllare le altre opzioni per sfruttare tutte le funzionalità del comando dig.
Utilizzo del comando dig
Ora che capiamo come funziona il comando dig in Linux, è tempo di imparare come usarlo. Qui esploriamo alcune utili applicazioni comuni del comando dig.
1. Interrogazione di un singolo host
L'uso più semplice del comando dig è interrogare un host che lo utilizza. Ecco un comando che possiamo usare per interrogare l'host su Google.com.
dig google.com
Dovresti vedere un output simile allo screenshot fornito sopra. Se utilizzato senza alcuna opzione, il comando dig mostra la risposta dell'host insieme ad altre informazioni DNS sotto forma di commenti.
Significato di ogni sezione nell'output di scavo
- Le prime due righe contenere la versione di DiG sul tuo sistema, l'indirizzo host utilizzato nella query e le opzioni utilizzate nella query. Qui l'unica opzione predefinita è +cmd, che stampa le nostre prime due righe come commenti.
- Successivamente, vediamo i dettagli tecnici per quanto riguarda la risposta che è stata inviata dal server DNS in merito alla nostra richiesta. Le versioni più recenti possono vedere una "pseudo sezione OPT" che copre i meccanismi di estensione per DNS (EDNS).
- Segue la "Sezione delle domande" che mostra la nostra query e la "sezione Risposte" che mostra la risposta del server DNS.
- Infine, l'ultima sezione contiene le statistiche riguardo alla nostra domanda. In alcuni risultati, una "sezione Autorità" mostra i server che hanno l'autorità per rispondere alla nostra richiesta.
- 'Sezione aggiuntiva' contiene gli indirizzi IP che rientrano nell'autorità dei server DNS.
Visualizza solo le sezioni importanti
Se desideri evitare di vedere tutte le informazioni extra, possiamo utilizzare il seguente comando.
dig google.com +noall +answer
Questo mostrerà solo il risultato dal server dei nomi come +noall disabilita tutti i commenti e +risposta stampa la risposta dal server dei nomi. Dovresti vedere un output simile allo screenshot qui sopra.
2. Interrogazione di tutti i record DNS
Quando desideri controllare tutti i record DNS presenti sull'host, possiamo farlo con l'aiuto del seguente comando.
dig +nocmd google.com any +noall +answer
Dovresti vedere l'output sopra contenente l'elenco dei record DNS. Puoi sostituire qualsiasi con un tipo di record durante la ricerca di record specifici
3. Esecuzione della ricerca DNS inversa
Abbiamo usato il comando dig per calcolare l'indirizzo IP dal nome host di un server dei nomi. Ora usiamolo per fare il contrario. Per capire il nome host associato a un indirizzo IP, utilizziamo il seguente comando.
dig -x 216.58.199.174 +noall +answer
Come puoi vedere nello screenshot, il comando dig ha utilizzato la ricerca DNS inversa e ha scoperto che questo indirizzo IP è associato all'host su bom05s08-in-f12.1e1mm.net
Conclusione
L'utilità DiG è un potente strumento Linux per interrogare i server dei nomi DNS utilizzando la riga di comando. Ci auguriamo che questo articolo sia stato in grado di aiutarti a comprendere il comando dig in Linux. Se hai commenti, domande o correzioni, sentiti libero di lasciarli nei commenti qui sotto