GNU/Linux >> Linux Esercitazione >  >> Linux

Utili esempi di scavi di Linux per l'amministratore di rete

Come amministratore di rete Linux, è probabile che ti imbatti in vari problemi che possono essere risolti con Linux dig (Domain Information Groper). Non sono sicuro di come il dig il comando funziona? Nessun problema! Ti aspetta una sorpresa!

In questo tutorial imparerai alcuni utili esempi di come utilizzare dig per risolvere i problemi del mondo reale.

Entra e fai amicizia con questo potente strumento!

Prerequisiti

Questo tutorial sarà una dimostrazione pratica. Se desideri seguire, assicurati di avere un sistema Linux. Questo tutorial utilizza Ubuntu 20.04, ma qualsiasi distribuzione Linux moderna funzionerà.

Installazione di Linux dig Comando

Il dig di Linux Il comando consente di raccogliere informazioni DNS che possono essere utili per la risoluzione dei problemi DNS. Ma prima di scavare nei server dei nomi, devi prima installare dig sulla tua macchina.

1. Esegui il comando apt update di seguito per aggiornare l'indice del pacchetto del tuo sistema.

apt update -y

2. Quindi, esegui il seguente comando apt install per installare dnsutils sul tuo computer. DiG fa parte di un pacchetto di utilità DNS (dnsutils) installato con i server dei nomi BIND.

dnsutils è un insieme di strumenti forniti dal team di Ubuntu che contiene varie utilità DNS lato client, come dig.

apt install dnsutils -y

3. Infine, esegui il comando dig di seguito per verificare l'installazione di DiG.

dig -v

Di seguito, la versione di DiG mostra la 9.16.1, ma la tua potrebbe essere diversa.

Prova a Linux Dig per una query DNS di base

Ora che hai installato dig, puoi provare dig comando per una query DNS di base. Il comando dig ti consente di interrogare i server DNS per raccogliere una manciata di informazioni che puoi utilizzare per risolvere e risolvere i problemi DNS.

La sintassi per una query DNS di base è la seguente dove:

  • server – Il server DNS per interrogare un indirizzo IP o un nome di dominio. DiG utilizzerà il DNS preconfigurato del tuo computer se non specifichi un server.
  • name – Il nome di dominio o l'indirizzo IP da cercare.
  • type – Il tipo di record DNS che stai cercando.
dig [server] [name] [type]

Ora, esegui il comando seguente per interrogare i record DNS per google.com .

Quando esegui dig comando senza flag o argomenti, dig esegue una query DNS come argomento e restituisce il record A per il nome host specificato.

dig [google.com]()

Una query DNS di base che utilizza dig è utile per alcune attività diverse, come:

  • Controllo dei record DNS per un dominio.
  • Scopri quale server DNS viene utilizzato per un dominio.
  • Verifica se il tuo computer utilizza il server DNS corretto.

Interrogazione su google.com

Comprendere l'output di una query DNS di base

Considerando che DiG ha restituito molte informazioni sul nome di dominio che hai richiesto, puoi già vedere cosa sta succedendo con quel dominio. O no? Probabilmente no. Ma non preoccuparti. Esaminerai un'analisi dettagliata di ciascuna sezione che vedrai su un output di query DNS di base.

Di seguito, la prima riga mostra la versione di DiG e il nome di dominio richiesto (google.com ). Allo stesso tempo, la seconda riga mostra le opzioni globali utilizzate per eseguire la query.

In questo caso, l'unica opzione utilizzata è stata +cmd , che dice a DiG di stampare i comandi che sono stati eseguiti mentre DiG li esegue.

La seguente sezione (HEADER ) mostra i dettagli tecnici della richiesta:

  • La prima riga specifica il opcode utilizzato per la query (in questo caso, QUERY ), seguito dallo stato:NOERROR della query e l'id numero(47244 ). Il NESSUNERRORE status indica che il server DNS ha elaborato la query e restituito correttamente una risposta. Se ricevi un SERVFAIL stato, si è verificato un errore del server DNS, che ha provocato una query non riuscita.
  • Le bandiere la sezione mostra quali flag sono stati impostati per la query. In questo caso, qr (risposta alla query), rd (la ricorsione non era desiderata) e ra (la ricorsione è disponibile).
  • L'ultima riga indica quante query (QUERY ) sono stati realizzati (1 ). Vedrai anche quante RISPOSTA s (1 ), AUTORITÀ record (0 ), e AGGIUNTIVI record(1 ) DiG restituito.

La OPZ PSEUDOSECTION sotto indica che il messaggio DNS è stato esteso utilizzando il protocollo EDNS0. Le bandiere il campo è vuoto perché non sono state impostate opzioni, mentre il udp campo specifica la dimensione massima del messaggio DNS, che è 65.494 byte.

Ora, la RISPOSTA la sezione seguente mostra la risposta restituita per la query. In questo caso, hai richiesto il record A di google.com e il server DNS ha restituito un indirizzo IP di 142.250.80.110 . Puoi vedere google.com Un record punta a quell'indirizzo IP.

Infine, l'ultima sezione contiene informazioni sull'ora della query e sul server utilizzato per elaborare la query. Di seguito, puoi vedere che la query ha impiegato quattro millisecondi (4 msec ) da completare e il SERVER utilizzato aveva un indirizzo IP di 127.0.0.53 .

Meno tempo impiega il server DNS per elaborare una query e restituire una risposta, meglio è. Non vuoi che i tuoi utenti aspettino a lungo prima che le query DNS vengano risolte. La lunga attesa può portare a un'esperienza utente negativa.

Recupero di risposte brevi e dettagliate

Hai appena interrogato un DNS che ha restituito una manciata di informazioni. Ma puoi controllare quale output ottieni? Sì, aggiungendo i flag (+short , +noall e +answer ) al dig comando.

Supponiamo che stai cercando un record A. Il server DNS restituisce sia un record A che un record AAAA. Ma con il +short flag, il DNS restituisce solo il record A. Il +short flag può essere utile per ottenere una risposta rapida dai server DNS senza passare al setaccio tutte le informazioni extra.

Esegui il comando seguente per interrogare google.com ancora. Ma questa volta, aggiungi il +short flag per ottenere solo una risposta breve.

dig +short google.com

Di seguito, vedrai che DiG ha restituito solo una breve risposta, che è l'indirizzo del server di Google.

Ora, esegui il comando seguente per interrogare google.com , restituendo una risposta dettagliata. Il +noall flag omette tutte le informazioni predefinite visualizzate durante l'esecuzione di dig comando, fatta eccezione per la sezione delle risposte (+answer ).

dig google.com +noall +answer

Specifica dei server dei nomi per la risoluzione dei nomi di dominio

Finora, hai visto come utilizzare il dig comando con le sue impostazioni predefinite. Ma supponiamo di voler testare se un server dei nomi specifico può risolvere un nome di dominio o meno. In questi casi, specificando quale server DNS DiG utilizza durante l'esecuzione di dig il comando può aiutare.

Per impostazione predefinita, il dig Il comando utilizza i server DNS specificati in /etc/resolv.conf file, come mostrato di seguito.

Per ignorare quale server DNS DiG utilizza durante la risoluzione di un nome di dominio, aggiungerai il @ simbolo seguito dal server DNS o IP.

Esegui il comando seguente per interrogare un nome di dominio (server ) utilizzando il tuo server DNS preferito(dns-or-ip ). Assicurati di sostituire dns-or-ip con il tuo server DNS, ma questo tutorial utilizza 8.8.8.8 .

dig server +noall +answer @dns-or-ip

Di seguito puoi vedere che il server DNS ha risolto correttamente il nome di dominio e ha restituito risposte in dettaglio.

Interrogazione di tipi di record specifici

Per impostazione predefinita, il dig comando query per un record A se non si specifica alcun tipo di record. Ma DiG ti consente anche di interrogare altri tipi di record DNS, come MX, NS, TXT e così via.

Per specificare un tipo di record, aggiungi il tipo di record subito dopo il nome di dominio che stai cercando, come nell'esempio seguente.

Esegui il comando seguente per interrogare google.com per i record MX.

dig +noall +answer google.com mx

Di seguito puoi vedere il record MX per google.com è smtp.google.com .

Ora, esegui il comando seguente per interrogare google.com per i record TXT

dig +noall +answer google.com txt

L'output seguente mostra tutti i record TXT per google.com , come mostrato di seguito.

Esecuzione di query in modalità batch

Supponiamo di voler cercare le informazioni DNS per più nomi di dominio. Interrogare le informazioni una per una per ciascun nome di dominio può essere noioso e richiedere molto tempo.

Fortunatamente, il dig comando supporta una modalità batch, in cui è possibile specificare un file contenente un elenco di nomi di dominio. DiG eseguirà query DNS per tutti i nomi di dominio elencati in quel file in modalità batch.

Apri un nuovo file di testo denominato dns-batch-file.txt nel tuo editor di testo preferito e aggiungi i nomi di dominio (uno per riga), come mostrato di seguito. Quando sei soddisfatto dell'elenco, salva il file e chiudi l'editor.

Ora, esegui il comando seguente per interrogare tutti i domini elencati nella specifica (-f ) dns-batch-file.txt file in modalità batch.

dig -f dns-batch-file.txt +noall +answer

Come puoi vedere di seguito, le informazioni DNS per tutti i domini sono state interrogate e visualizzate in formato tabellare.

Controllare il comportamento di DiG usando .digrc File

DiG legge varie impostazioni dal file ~/.digrc quando esegui il comando dig. Questo file contiene varie impostazioni che ti consentono di controllare il modo in cui dig comando si comporta. Con il file ~/.digrc , puoi impostare il server DNS predefinito che è il dig comando dovrebbe interrogare o impostare il tipo di record predefinito da interrogare se non ne specifichi nessuno.

Forse miri a ottenere una risposta dettagliata e ignorare tutte le altre sezioni il più delle volte quando esegui il dig comando. In questi casi, puoi usare ~./digrc per impostare lo stile di output predefinito per dig comando, come nell'esempio seguente.

Esegui il echo comando seguente, che non fornisce output, ma aggiunge il +noall +answer riga a ~/.digrc file.

echo "+noall +answer" > ~/.digrc

Ora esegui il dig comando per interrogare un nome di dominio senza argomenti. Sostituisci domain con il tuo nome di dominio preferito.

dig domain

Puoi vedere che l'output ora contiene solo la sezione delle risposte, come mostrato di seguito. DiG userebbe il +noall +answer flag da ~/.digrc file anche se non hai aggiunto alcun flag quando hai eseguito il comando dig.

Conclusione

In questo articolo, hai appreso varie funzionalità di Linux dig comando per interrogare i server DNS in modo efficace. Hai anche accennato alla personalizzazione del dig desiderato output del comando utilizzando più flag.

A questo punto, sai già come sfruttare il dig di Linux comando nel tuo lavoro quotidiano, soprattutto durante la risoluzione dei problemi di rete.

Non fermarti qui, però. C'è di più in ciò che puoi ottenere con Linux dig comando. Perché non utilizzare il dig comando per eseguire una ricerca DNS inversa per trovare un nome di dominio associato a un indirizzo IP?


Linux
  1. 16 Utili esempi di comandi "cp" per principianti di Linux

  2. 9 esempi utili del comando Split in Linux

  3. Come utilizzare il comando id in Linux:5 esempi utili

  4. 10 Esempi utili di Sar (Sysstat) per il monitoraggio delle prestazioni UNIX/Linux

  5. dig Esempi di comandi in Linux

10 esempi utili del comando di ordinamento in Linux

15 esempi super utili del comando Trova in Linux

Scansioni delle porte Linux efficaci per l'amministratore di rete

Esempi utili di tcpdump Linux per l'amministratore di rete

10 Esempi di comandi Linux brctl per bridge di rete Ethernet

10 Esempi di comandi DIG Linux per la ricerca DNS