# nslookup: come funziona il pratico strumento per controllare il DNS

Svolgendo la funzione di servizio di database centrale per la consultazione di indirizzi di rete, il Domain Name System (DNS) contribuisce enormemente al successo di Internet e del World Wide Web. La **rete composta da server DNS distribuiti in tutto il mondo** (chiamati anche name server) si assicura che i nomi dei diversi **partecipanti e delle applicazioni di rete** come *example.org* vengano risolti negli indirizzi IP basati su numeri e leggibili dalle macchine (e viceversa), garantendo che in qualsiasi momento, anche senza saperlo, l’IP effettivo del giusto computer o del sito richiesto sia raggiungibile.

In determinate situazioni, ad esempio in caso di problemi durante la risoluzione del nome di dominio, può però essere utile dare uno sguardo dietro le quinte e **ricercare l’indirizzo IP dietro un nome di dominio o il nome di dominio che si nasconde dietro l’indirizzo IP**. Uno strumento utile a tale scopo è il programma **nslookup**, già installato di default su Windows, macOS e Linux.

## Che cos’è nslookup?

nslookup è uno strumento della riga di comando facile e molto pratico che viene usato soprattutto per risalire all’**indirizzo IP** assegnato a un determinato host o al nome di dominio collegato a un determinato indirizzo IP (Reverse DNS Lookup). Il programma nslookup si può eseguire dalla riga di comando del rispettivo sistema operativo: gli utenti Windows avviano quindi il servizio dal **prompt dei comandi**, mentre quelli Unix dal **terminale**. Oggigiorno esistono inoltre numerosi servizi web che consentono di eseguire online il programma nslookup.

N.B. Il nome nslookup sta per “**n**ame **s**erver **look up**”, che si può tradurre con “controllo dei name server”.

Con nslookup si ottengono le informazioni relative all’indirizzo direttamente dalla cache DNS dei name server, dove gli utenti hanno a disposizione due diverse modalità: nella **modalità non interattiva** il tool indaga di default i **resource record** (il nome dato ai record dell’indirizzo memorizzati nella cache DNS) memorizzati nei name server locali. Questa modalità è particolarmente adatta per query semplici, in cui deve essere controllato un singolo record di un dominio. Se per la ricerca si utilizza un altro server DNS e si vogliono portare a termine dei processi di ricerca più complessi, si deve ricorrere alla **modalità interattiva,** in cui il programma della riga di comando viene avviato separatamente.

N.B. A differenza degli altri programmi della riga di comando di Windows/DOS, nslookup dispone di un parametro “**case sensitive**” con -q, vale a dire che i comandi variano a seconda dell’uso di maiuscole o minuscole.

## A che cosa serve nslookup?

Ci sono diversi scenari in cui risulta utile utilizzare nslookup. Il programma della riga di comando è uno strumento importante soprattutto per la risoluzione di errori DNS. Un’**interrogazione delle informazioni** aiuta principalmente a trovare la causa del problema sorto. Ad esempio chi usa un server Windows e ha un problema con il servizio di directory Active Directory, può controllare velocemente e facilmente con nslookup se **tutti i server coinvolti siano stati risolti come pianificato nel Domain Name System**. Generalmente i punti di forza del programma emergono laddove esistono diversi **sottodomini**, sia che si tratti semplicemente di controllarli sia che sorgano effettivamente **problemi di connessione**.

Un altro tipico scenario di utilizzo è la **ricerca dei mail server ottimali** ([SMTP](https://www.ionos.it/digitalguide/e-mail/tecnica-e-mail/smtp/ "SMTP"), POP, IMAP) per il dominio desiderato. In questo caso nslookup individua i server presi in considerazione servendosi dei **record MX** (**M**ail **Ex**changer), che appartengono al dominio del provider di posta elettronica. Questi record comprendono gli indirizzi IP e i nomi dei server del provider, che devono essere inseriti durante la configurazione del client di posta elettronica per **perfezionare il routing del traffico dello scambio di e-mail elettronico**.

## Come funziona nslookup su Linux, Windows e macOS

Per utilizzare nslookup sui computer Mac, Windows o Linux, si apre prima di tutto la riga di comando del relativo sistema operativo. Ci sono due modalità, introdotte prima brevemente, per utilizzare lo strumento DNS per i propri scopi:

- **modalità interattiva:** avviare nslookup con il comando omonimo e aggiungere in seguito il parametro **separatamente;**
- **modalità non interattiva:** inserire il comando nslookup e il parametro desiderato **direttamente.**

Il procedimento da applicare dipende dalle proprie competenze pregresse. Se si conoscono i parametri necessari, niente impedisce di eseguire una **query del server DNS** in un unico passaggio (a condizione che non debba essere cambiato il server DNS). I neofiti che devono prima di tutto prendere confidenza con il servizio possono facilitarsi il compito avviando nslookup e **appropriandosi della sintassi e dei parametri passo per passo**. In questa modalità è di aiuto visualizzare le possibili opzioni disponibili con il comando “help”.

[![Immagine: Prompt dei comandi di Windows: nslookup help](https://www.ionos.it/digitalguide/fileadmin/_processed_/0/3/csm_IT-nslookup_86634c23c2.webp "Prompt dei comandi di Windows: nslookup help")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/IT-nslookup.jpg) Prompt dei comandi di Windows: nslookup help Per interrompere la query su nslookup si deve solo eseguire il comando “exit” o chiudere la riga di comando. In alternativa basta ricorrere alla combinazione di tasti \[CTRL\] + \[C\].

## nslookup: esempi per l’utilizzo del servizio di query

Una volta avviato in un unico passaggio il programma nslookup, la riga di comando attende che vengano inseriti altri comandi. Così gli utenti hanno la possibilità di **eseguire le query con il setup standard o di stabilire opzioni personalizzate**. Per il primo metodo si inserisce quindi solo il nome di dominio per cui deve essere ricercato l’indirizzo IP (o viceversa) nella riga di comando e si conferma la scelta con il tasto invio. Ad esempio la ricerca dell’indirizzo del dominio *example.org* si presenta così su nslookup:

[![Immagine: nslookup su Windows: query del dominio example.org](https://www.ionos.it/digitalguide/fileadmin/_processed_/c/1/csm_EN-nslookup2_45501ac9f0.webp "nslookup su Windows: query del dominio example.org")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/EN-nslookup2.png) nslookup su Windows: query del dominio example.org In questo caso è stata restituita una “**risposta da un server non autorevole**”, visto che il server DNS locale non ha potuto rispondere autonomamente, ma ha dovuto contattare altri name server. Il contenuto della risposta di nslookup sono gli indirizzi IPv4 (a quattro cifre) e IPv6 (più lunghi, divisi da due punti) relativi al dominio di esempio.

Vi illustriamo di seguito due esempi per le **query di nslookup nella modalità interattiva,** configurate in modo personalizzato.

### Richiamare determinati tipi di indirizzi dai resource record

Il programma nslookup si orienta principalmente alla query di indirizzi IPv4 e IPv6. Tuttavia, come accennato, lo strumento della riga di comando può richiamare informazioni di altri tipi di indirizzi di un dominio tramite la **possibilità di accesso ai record DNS**. Per questo motivo l’utente deve prima definire (“set”) il tipo desiderato (“type”), prima di inserire il nome di dominio nella riga di comando. La **sintassi** del relativo comando di nslookup si presenta così:

```none
set type=TIPODIINDIRIZZO
```

Come “TIPODIINDIRIZZO” viene inserito il tipo di query richiesta, che si può scegliere tra i seguenti tipi:

<table>
  <thead>
    <tr>
      <th>Parametro di nslookup</th>
      <th>Tipo di query</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>A</td>
      <td>Indirizzo IPv4</td>
    </tr>
    <tr>
      <td>AAAA</td>
      <td>Indirizzo IPv6</td>
    </tr>
    <tr>
      <td>MX</td>
      <td>Mail server del/i nome/i di dominio (Mail Exchanger)</td>
    </tr>
    <tr>
      <td>NS</td>
      <td>Name server del nome di dominio</td>
    </tr>
    <tr>
      <td>PTR</td>
      <td>Record “Pointer” (mostra il/i nome/i host di un indirizzo IP)</td>
    </tr>
    <tr>
      <td>SOA</td>
      <td>Record “Start of Authority” (indicazioni sulla gestione della zona DNS)</td>
    </tr>
  </tbody>
</table>

[![Immagine: nslookup: esempio di “set type”](https://www.ionos.it/digitalguide/fileadmin/_processed_/d/3/csm_nslookup-set-type_8b99994782.webp "nslookup: esempio di “set type”")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/nslookup-set-type.jpg) nslookup: esempio di “set type” ### Cambiare il server DNS per avere risultati accurati

Di default nslookup contatta il server DNS locale, che viene stabilito solitamente dal **router** o dal **provider**. Se lo si utilizza per la query può darsi che i risultati non siano sempre accurati, ad esempio perché il server ricercato non è registrato nella **cache del name server locale**. Il tool della riga di comando dà però la possibilità di scegliere autonomamente il server DNS su cui deve avvenire la query. Se si prende il server che è collegato al relativo dominio, si ottengono persino delle **risposte autorevoli**. Quindi nel primo passaggio è necessario **scoprire i name server** assegnati, definendo il **tipo di query “NS”** e facendosi mostrare questo record DNS tramite l’inserimento del nome di dominio:

```none
set type=NS
    example.org
```

Per questo esempio nslookup fornisce due possibili name server (“a.iana-servers.net” e “b.iana-servers.net”), come mostra il seguente screenshot:

[![Immagine: nslookup nel prompt dei comandi di Windows: controllo dei name server](https://www.ionos.it/digitalguide/fileadmin/_processed_/e/a/csm_EN-nslookup4_7aa114d5f3.webp "nslookup nel prompt dei comandi di Windows: controllo dei name server")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/EN-nslookup4.png) nslookup nel prompt dei comandi di Windows: controllo dei name server Ora uno dei due name server presentati deve essere **definito come server standard**, di modo che in futuro le query passino tramite questo. Il comando corrispondente si basa sul **parametro “server”** e il **rispettivo nome del server desiderato**. Per l’esempio scelto di nslookup sono possibili entrambi questi comandi:

```none
server a.iana-servers.net
```

```none
server b.iana-servers.net
```

Nell’ultimo passaggio l’utente modifica il tipo di query, impostato ancora per la ricerca dei name server, nella richiesta di indirizzo desiderato come “A” per il dominio, in “MX” per il controllo dell’IP dei mail server o in **“ANY” per un controllo completo** (come utilizzato qui):

```none
set type=ANY
```

La **risposta**, questa volta **autorevole e accurata**, mostra anche entrambi i name server conosciuti e il principale name server (*primary name server*) da cui vengono effettivamente rilevate le informazioni DNS.

[![Immagine: Controllo di nslookup con server DNS scelti autonomamente](https://www.ionos.it/digitalguide/fileadmin/_processed_/8/6/csm_nslookup-check_471f1c2ca8.webp "Controllo di nslookup con server DNS scelti autonomamente")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/nslookup-check.jpg) Controllo di nslookup con server DNS scelti autonomamente The **authoritative and accurate answer** received this time around shows, among other things, the previously mentioned name servers and the primary name server, from which the DNS data was retrieved.

## Query del server DNS dal browser con tool online di nslookup

Per la query dei server DNS con nslookup, il tool non deve essere per forza eseguito dal proprio sistema. Nel World Wide Web esistono diverse applicazioni che mettono a disposizione le **risorse** necessarie: il controllo degli indirizzi IP o dei nomi di dominio avviene quindi in questo caso su un altro computer e i risultati vengono visualizzati sul browser. Due esempi di applicazioni web nslookup sono [ping.eu](https://ping.eu/nslookup/ "Ping.eu: ping dell'IP, dnslookup e altri servizi") e [centralops.net](https://centralops.net/co/nslookup.aspx "centralops.net: tool di rete online").

Il tool online **ping.eu** si limita alla funzione di base di nslookup. Dopo aver inserito un indirizzo IP o un nome host lo strumento fornisce il risultato appropriato:

[![Immagine: “DNS lookup” su ping.eu](https://www.ionos.it/digitalguide/fileadmin/_processed_/2/a/csm_nslookup-online-tool-1_d40d8f18ba.webp "“DNS lookup” su ping.eu")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/nslookup-online-tool-1.jpg) “DNS lookup” su ping.eu Con il **tool di centralops.net** si può inoltre utilizzare nslookup online nella modalità interattiva. Così gli utenti possono inserire il **name server** che preferiscono al posto del server DNS standard, cambiare la **porta** e definire il **tipo di query**. In questo modo è ad esempio possibile ricevere risposte autorevoli nell’esempio di nslookup introdotto precedentemente.

[![Immagine: “NsLookup” su centralops.net](https://www.ionos.it/digitalguide/fileadmin/_processed_/3/f/csm_nslookup-online-tool-2_fedb2bbed6.webp "“NsLookup” su centralops.net")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/nslookup-online-tool-2.jpg) “NsLookup” su centralops.net  N.B. Sia ping.eu sia centralops.net offrono dei tool di rete aggiuntivi come [Traceroute](https://www.ionos.it/digitalguide/server/tools-o-strumenti/seguire-i-pacchetti-dati-con-traceroute/) o [WHOIS](https://www.ionos.it/tools/whois-domain "Whois Domain - Lookup disponibile su IONOS").


This is a markdown version of: [https://www.ionos.it/digitalguide/server/tools-o-strumenti/nslookup/](https://www.ionos.it/digitalguide/server/tools-o-strumenti/nslookup/) for AI/LLM consumption.