- 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. - 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.
- Sistemas basados en Debian:
- 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]
- 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:- 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 Linuxmortadelo@mipc:~$ nslookup >
Ejemplo en Windows
C:\Users\mortadelo>nslookup Servidor predeterminado: google-public-dns-a.google.com Address: 8.8.8.8 >
- 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 Linuxmortadelo@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 >
- Cuando el
primer argumento
de nslookup es un guion (-) (con o sin opciones) y elsegundo 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ó comosegundo argumento
y nos quedaremos tras el prompt de la aplicación (>), a la espera de órdenes.
Ejemplo en Linuxmortadelo@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 >
- 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.
- 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 elprimer argumento
es el nombre de host o la direcciones IP del host a buscar. Elsegundo argumento
, opcional, especifica el nombre de host o la direcciones IP de un servidor DNS.
Lasopciones
también se pueden especificar en la línea de comandos si preceden a losargumentos
y tienen un guion (-) como prefijo.
Ejemplo en Linuxmortadelo@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 dominiored.es
- 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.
- 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
y1.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 Linuxmortadelo@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 Linuxmortadelo@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 dominiowww.google.es
:
Eejemplo en Linuxmortadelo@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 WindowsC:\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 dominiowww.google.es
:
Ejemplo en Linuxmortadelo@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 zonagoogle.es
- Cambiar el tipo de consulta predeterminada para obtener los servidores autorizados
ns
para la zonazeppelinux.es
y el tiempo de espera inicial a10
segundos, preguntando al servidor DNS8.8.8.8
:
Ejemplo en Linuxmortadelo@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 Linuxmortadelo@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
- Consultar por un nombre DNS al servidor DNS configurado por defecto en las propiedades TCP/IP del equipo:
- En modo interactivo: (Volver al índice General)
- Preguntar al servidor DNS
8.8.8.8
cuales son los servidores DNS autorizados para el dominiozeppelinux.es
Ejemplo en Linuxmortadelo@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 dominiozeppelinux.es
:
Ejemplo en Linuxmortadelo@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 dominiogoogle.es
.
Ejemplo en Linuxmortadelo@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 Linuxmortadelo@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 dominiozeppelinux.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
:
Ahora bien, si preguntamos por un dominio que no sea.es
como puede sergoogle.com
, al no responder a preguntas recursivas y ser autorizado para el dominio.es
y no para.com
, no obtendremos respuesta:
- Preguntar al servidor DNS
- En modo no interactivo: (Volver al índice General)
Si quieres conocer todas las opciones de nslookup, aquí tienes el enlace a la página nslookup(1) – Linux man page.
- Sintaxis genérica (Volver al índice General)
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.
Deja una respuesta