Logo DNS

Herramienta de diagnóstico DNS: nslookup

publicado en: CLI, Consola, DNS, Redes, Servicios de Red | 0
 
 

Índice General

  1. Introducción.
  2. Instalación.
  3. Sintaxis, argumentos y opciones.

 

  1. Introducción (Volver al índice General)
    nslookup es un programa para consultar servidores DNS. Se utiliza para saber si un servidor DNS resuelve correctamente los nombres DNS y las direcciones IP, para solucionar problemas frecuentes de los servidores DNS o, para diagnosticar problemas ocasionales de configuración en los servidores DNS. Con nslookup podemos obtener la dirección IP asociada a un nombre DNS y viceversa, además, podemos preguntar a los servidores de nombres información relativa a los registros de recursos (RR) de la/s zona/s de las que son autorizados.

    Este comando funciona tanto en sistemas operativos UNIX/Linux como en Windows.
  2.  

  3. Instalación (Volver al índice General)
    En caso de que nslookup no se encuentre instalado en nuestro sistema, a continuación se muestra el comando a utilizar para su instalación en algunos sistemas:

    • Sistemas basados en Debian:
      $ sudo apt-get install dnsutils
    • Sistemas basados en Red Hat:
      $ yum install bind-utils
    • Sistemas basados en Arch Linux:
      $ sudo pacman -S bind-tools
    • Windows:
      nslookup está presente en los sistemas operativos Microsoft Windows. No es necesaria su instalación, tan solo abrir el Símbolo del sistema (CMD) o Windows PowerShell (en sistemas operativos con Windows Vista o superiores y Windows 2008 Server o superiores) y ejecutar el comando nslookup.
  4.  

  5. Sintaxis, argumentos y opciones (Volver al índice General)

    • Sintaxis genérica (Volver al índice General)
      La sintaxis genérica es la siguiente:

      nslookup [-option] [name | -] [server]
    • Si quieres conocer todas las opciones de nslookup, aquí tienes el enlace a la página nslookup(1) – Linux man page.

    • Modos de uso (Volver al índice General)
      nslookup tiene dos modos de uso: interactivo y no interactivo.

      • Modo interactivo: permite al usuario consultar los servidores DNS para obtener información sobre varios hosts y dominios o para listar los hosts de un dominios.

        Trabajamos en modo interactivo en los siguientes casos:

        1. Cuando a nslookup no se le pasan argumentos. En este caso, se usará el servidor DNS configurado por defecto en las propiedades TCP/IP del equipo y nos quedaremos tras el prompt de la aplicación (>), a la espera de órdenes.

          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup
          >

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup
          Servidor predeterminado:  google-public-dns-a.google.com
          Address:  8.8.8.8
           
          >
        2. Cuando el primer argumento de nslookup es un guion (-) (con o sin opciones). En este caso, se usará el servidor DNS configurado por defecto en las propiedades TCP/IP del equipo y nos quedaremos tras el prompt de la aplicación (>), a la espera de órdenes.

          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup -
          >
          mortadelo@mipc:~$ nslookup -type=ns
          >

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup -
          Servidor predeterminado:  google-public-dns-a.google.com
          Address:  8.8.8.8
           
          >
          C:\Users\mortadelo>nslookup -type=ns
          Servidor predeterminado:  google-public-dns-a.google.com
          Address:  8.8.8.8
           
          >
        3. Cuando el primer argumento de nslookup es un guion (-) (con o sin opciones) y el segundo argumento es el nombre de host o la dirección IP de un servidor DNS. En este caso, se usará el servidor DNS que se pasó como segundo argumento y nos quedaremos tras el prompt de la aplicación (>), a la espera de órdenes.

          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup - 8.8.4.4
          >
          mortadelo@mipc:~$ nslookup -type=ns 8.8.4.4
          >

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup - 8.8.4.4
          Servidor predeterminado:  google-public-dns-b.google.com
          Address:  8.8.4.4
           
          >
          C:\Users\mortadelo>nslookup -type=ns 8.8.4.4
          Servidor predeterminado:  google-public-dns-b.google.com
          Address:  8.8.4.4
           
          >
      • Modo no interactivo: se usa para presentar solo el nombre y la información solicitada para un host o nombre DNS.
        Trabajamos en modo no interactivo cuando el primer argumento es el nombre de host o la direcciones IP del host a buscar. El segundo argumento, opcional, especifica el nombre de host o la direcciones IP de un servidor DNS.
        Las opciones también se pueden especificar en la línea de comandos si preceden a los argumentos y tienen un guion (-) como prefijo.

        Ejemplo en Linux

        mortadelo@mipc:~$ nslookup -type=ns red.es 8.8.4.4
        Server:         8.8.4.4
        Address:        8.8.4.4#53
         
        Non-authoritative answer:
        red.es  nameserver = ns-1400.awsdns-47.org.
        red.es  nameserver = ns-177.awsdns-22.com.
        red.es  nameserver = ns-1854.awsdns-39.co.uk.
        red.es  nameserver = ns-830.awsdns-39.net.
         
        Authoritative answers can be found from:

        Ejemplo en Windows

        C:\Users\mortadelo>nslookup -type=ns red.es 8.8.4.4
        Servidor:  google-public-dns-b.google.com
        Address:  8.8.4.4
         
        Respuesta no autoritativa:
        red.es  nameserver = ns-1400.awsdns-47.org
        red.es  nameserver = ns-177.awsdns-22.com
        red.es  nameserver = ns-1854.awsdns-39.co.uk
        red.es  nameserver = ns-830.awsdns-39.net

        En una sola línea consultamos al servidor DNS 8.8.4.4 por los registros de recursos (RR) NS asociados al dominio red.es


    •  
       

    • Usos más comunes (Volver al índice General)
      A continuación veremos ejemplos de uso de nslookup con los argumentos y las opciones más utilizados en sistemas Debian Linux y en Windows 10. Los servidores DNS configurados por defecto en las propiedades TCP/IP de nuestros equipos, tanto en Linux como en Windows serán los servidores DNS de Cloudflare: 1.1.1.1 y 1.0.0.1.
      El de Cloudflare es un servicio que se centra sobre todo en el rendimiento, la velocidad de su servicio y sobre todo en la privacidad, prometiendo que no utilizarán tus datos para servir publicidad y que nunca escribirán en ningún disco duro tu IP (eso dicen…).

      • En modo no interactivo: (Volver al índice General)
        • Consultar por un nombre DNS al servidor DNS configurado por defecto en las propiedades TCP/IP del equipo:
          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup www.kernel.org
          Server:         1.1.1.1
          Address:        1.1.1.1#53
           
          Non-authoritative answer:
          www.kernel.org  canonical name = git.kernel.org.
          git.kernel.org  canonical name = fra.git.kernel.org.
          Name:   fra.git.kernel.org
          Address: 136.144.49.103

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup www.kernel.org
          Servidor:  one.one.one.one
          Address:  1.1.1.1
           
          Respuesta no autoritativa:
          Nombre:  fra.git.kernel.org
          Addresses:  2604:1380:40b0:1a00::1
                    136.144.49.103
          Aliases:  www.kernel.org
                    git.kernel.org

          Mostrará el servidor DNS que responde, direcciones IP asociadas al nombre DNS consultado y los nombres de dominio que les son equivalentes, denominados alias.

        • Consultar por una dirección IP al servidor DNS configurado por defecto en las propiedades TCP/IP del equipo:
          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup 8.8.4.4
          Server:         1.1.1.1
          Address:        1.1.1.1#53
           
          Non-authoritative answer:
          4.4.8.8.in-addr.arpa    name = dns.google.
           
          Authoritative answers can be found from:

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup 8.8.4.4
          Servidor:  one.one.one.one
          Address:  1.1.1.1
           
          Nombre:  dns.google
          Address:  8.8.4.4

          Se observa cual es el servidor DNS que responde y que nombres de dominio se asocian con la dirección IP

        • Preguntar al servidor DNS 8.8.8.8 por el nombre de dominio www.google.es:
          Eejemplo en Linux

          mortadelo@mipc:~$ nslookup www.google.es 8.8.8.8
          Server:         8.8.8.8
          Address:        8.8.8.8#53
           
          Non-authoritative answer:
          Name:   www.google.es
          Address: 172.217.171.227

          Respuesta non-authoritative, es decir, el servidor DNS que responde no es autorizado para la zona google.es y, por defecto, nos devuelve el valor de un registro de recursos (RR) tipo A que es la dirección IP asociada al nombre de dominio.

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup www.google.es 8.8.8.8
          Servidor:  google-public-dns-a.google.com
          Address:  8.8.8.8
           
          Respuesta no autoritativa:
          Nombre:  www.google.es
          Addresses:  2a00:1450:4006:804::2003
                    172.217.171.227

          Respuesta igual a la anterior, pero además nos da la dirección IPv6.

        • Preguntar al servidor DNS ns1.google.com por el nombre de dominio www.google.es:
          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup www.google.es ns1.google.com
          Server:         ns1.google.com
          Address:        216.239.32.10#53
           
          Name:   www.google.es
          Address: 172.217.19.131

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup www.google.es ns1.google.com
          Servidor:  ns1.google.com
          Address:  216.239.32.10
           
          Nombre:  www.google.es
          Addresses:  2a00:1450:4006:806::2003
                    172.217.19.131

          La respuesta en ambos casos es autorizada, el servidor ns1.google.com es autorizado para la zona google.es

        • Cambiar el tipo de consulta predeterminada para obtener los servidores autorizados ns para la zona zeppelinux.es y el tiempo de espera inicial a 10 segundos, preguntando al servidor DNS 8.8.8.8:
          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup -type=ns -timeout=10 zeppelinux.es 8.8.8.8
          Server:         8.8.8.8
          Address:        8.8.8.8#53
           
          Non-authoritative answer:
          zeppelinux.es   nameserver = ns2.h3m.com.
          zeppelinux.es   nameserver = ns1.h3m.com.
           
          Authoritative answers can be found from:

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup -type=ns -timeout=10 zeppelinux.es 8.8.8.8
          Servidor:  google-public-dns-a.google.com
          Address:  8.8.8.8
           
          Respuesta no autoritativa:
          zeppelinux.es   nameserver = ns2.h3m.com
          zeppelinux.es   nameserver = ns1.h3m.com
        • Obtener la dirección IP de zeppelinux.es:
          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup zeppelinux.es
          Server:         1.1.1.1
          Address:        1.1.1.1#53
           
          Non-authoritative answer:
          Name:   zeppelinux.es
          Address: 91.199.120.62

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup zeppelinux.es
          Servidor:  one.one.one.one
          Address:  1.1.1.1
           
          Respuesta no autoritativa:
          Nombre:  zeppelinux.es
          Address:  91.199.120.62

      •  
         

      • En modo interactivo: (Volver al índice General)
        • Preguntar al servidor DNS 8.8.8.8 cuales son los servidores DNS autorizados para el dominio zeppelinux.es
          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup 
          > server 8.8.8.8
          Default server: 8.8.8.8
          Address: 8.8.8.8#53
          > set type=NS
          > zeppelinux.es
          Server:         8.8.8.8
          Address:        8.8.8.8#53
           
          Non-authoritative answer:
          zeppelinux.es   nameserver = ns2.h3m.com.
          zeppelinux.es   nameserver = ns1.h3m.com.
           
          Authoritative answers can be found from:
          >

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup
          Servidor predeterminado:  one.one.one.one
          Address:  1.1.1.1
           
          > server 8.8.8.8
          Servidor predeterminado:  dns.google
          Address:  8.8.8.8
           
          > set type=NS
          > zeppelinux.es
          Servidor:  dns.google
          Address:  8.8.8.8
           
          Respuesta no autoritativa:
          zeppelinux.es   nameserver = ns2.h3m.com
          zeppelinux.es   nameserver = ns1.h3m.com
          >

          En vez de utilizar los servidores DNS predeterminados en la confituración TCP/IP de los equipos, utilizamos el servidor DNS de Google 8.8.8.8 y cambiamos el tipo de registro de recursos (RR) a consultar de tipo A a tipo NS

        • Preguntar al servidor DNS 8.8.8.8 cuales son los servidores de correo autorizados para el dominio zeppelinux.es:
          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup 
          > server 8.8.8.8
          Default server: 8.8.8.8
          Address: 8.8.8.8#53
          > set type=MX
          > zeppelinux.es
          Server:         8.8.8.8
          Address:        8.8.8.8#53
           
          Non-authoritative answer:
          zeppelinux.es   mail exchanger = 0 zeppelinux.es.
           
          Authoritative answers can be found from:
          >

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup
          Servidor predeterminado:  one.one.one.one
          Address:  1.1.1.1
           
          > server 8.8.8.8
          Servidor predeterminado:  dns.google
          Address:  8.8.8.8
           
          > set type=MX
          > zeppelinux.es
          Servidor:  dns.google
          Address:  8.8.8.8
           
          Respuesta no autoritativa:
          zeppelinux.es   MX preference = 0, mail exchanger = zeppelinux.es
          >

          En vez de utilizar los servidores DNS predeterminados en la confituración TCP/IP de los equipos, utilizamos el servidor DNS de Google 8.8.8.8 y cambiamos el tipo de registro de recursos (RR) a consultar de tipo A a tipo MX

        • Preguntar al servidor DNS 8.8.8.8 cuales son los servidores de correo autorizados para el dominio google.es.
          Ejemplo en Linux

          mortadelo@mipc:~$ nslookup 
          > server 8.8.8.8
          Default server: 8.8.8.8
          Address: 8.8.8.8#53
          > set type=MX
          > google.es
          Server:         8.8.8.8
          Address:        8.8.8.8#53
           
          Non-authoritative answer:
          google.es       mail exchanger = 10 aspmx.l.google.com.
          google.es       mail exchanger = 50 alt4.aspmx.l.google.com.
          google.es       mail exchanger = 40 alt3.aspmx.l.google.com.
          google.es       mail exchanger = 30 alt2.aspmx.l.google.com.
          google.es       mail exchanger = 20 alt1.aspmx.l.google.com.
           
          Authoritative answers can be found from:
          >

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup
          Servidor predeterminado:  one.one.one.one
          Address:  1.1.1.1
           
          > server 8.8.8.8
          Servidor predeterminado:  dns.google
          Address:  8.8.8.8
           
          > set type=MX
          > google.es
          Servidor:  dns.google
          Address:  8.8.8.8
           
          Respuesta no autoritativa:
          google.es       MX preference = 50, mail exchanger = alt4.aspmx.l.google.com
          google.es       MX preference = 20, mail exchanger = alt1.aspmx.l.google.com
          google.es       MX preference = 40, mail exchanger = alt3.aspmx.l.google.com
          google.es       MX preference = 30, mail exchanger = alt2.aspmx.l.google.com
          google.es       MX preference = 10, mail exchanger = aspmx.l.google.com
          >
        • Preguntar al servidor DNS configurado por defecto en las propiedades TCP/IP del equipo, cuales son los servidores DNS autorizados para el dominio raíz (.):
          Ejemplo en Linux

          mortadelo@mipc:~$  nslookup 
          > set type=NS
          > .
          Server:         1.1.1.1
          Address:        1.1.1.1#53
           
          Non-authoritative answer:
          .       nameserver = a.root-servers.net.
          .       nameserver = b.root-servers.net.
          .       nameserver = c.root-servers.net.
          .       nameserver = d.root-servers.net.
          .       nameserver = e.root-servers.net.
          .       nameserver = f.root-servers.net.
          .       nameserver = g.root-servers.net.
          .       nameserver = h.root-servers.net.
          .       nameserver = i.root-servers.net.
          .       nameserver = j.root-servers.net.
          .       nameserver = k.root-servers.net.
          .       nameserver = l.root-servers.net.
          .       nameserver = m.root-servers.net.
           
          Authoritative answers can be found from:
          >

          Ejemplo en Windows

          C:\Users\mortadelo>nslookup
          Servidor predeterminado:  one.one.one.one
          Address:  1.1.1.1
           
          > set type=NS
          > .
          Servidor:  one.one.one.one
          Address:  1.1.1.1
           
          Respuesta no autoritativa:
          (root)  nameserver = f.root-servers.net
          (root)  nameserver = g.root-servers.net
          (root)  nameserver = h.root-servers.net
          (root)  nameserver = i.root-servers.net
          (root)  nameserver = j.root-servers.net
          (root)  nameserver = k.root-servers.net
          (root)  nameserver = l.root-servers.net
          (root)  nameserver = m.root-servers.net
          (root)  nameserver = a.root-servers.net
          (root)  nameserver = b.root-servers.net
          (root)  nameserver = c.root-servers.net
          (root)  nameserver = d.root-servers.net
          (root)  nameserver = e.root-servers.net
          >
        • Preguntar al servidor DNS a.nic.es por el dominio zeppelinux.es:

          En el momento de escribir este artículo, desde la consola, tanto en Linux como en Windows, el servidor DNS a.nic.es no responde por ningún dominio .es, cuando debería de devolver los servidores DNS autorizados para los dominios .es preguntados. ¿Porqué ocurre esto? aún no lo he descubierto, pero si hacemos la pregunta por medio de alguna herramienta nslookup online, como puede ser NsLookup de Central Ops.net obtenemos los servidores DNS autorizados para los dominios preguntados.

          Por ejemplo, si preguntamos por el dominio zeppelinux.es:

          Herramienta NsLookup de Central Ops.net preguntando por zeppelinux.es
          Haz clic en la imagen para aumentarla
          Ahora bien, si preguntamos por un dominio que no sea .es como puede ser google.com, al no responder a preguntas recursivas y ser autorizado para el dominio .es y no para .com, no obtendremos respuesta:
          Herramienta NsLookup de Central Ops.net preguntando por google.com
          Haz clic en la imagen para aumentarla

 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
  Configuración de privacidad y de cookies.
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.