Dominando el Comando nslookup: Tutorial Paso a Paso y Consejos Avanzados
nslookup (abreviatura de «Name Server Lookup») es una herramienta de línea de comandos integrada para consultar servidores DNS (sistema de nombres de dominio) con el fin de averiguar la dirección IP de un dominio, o el nombre de dominio que hay detrás de una dirección IP. Para usarla, escriba nslookup seguido del dominio que desea resolver. El uso más habitual es una búsqueda básica:
nslookup example.com
Esto devuelve la dirección o direcciones IP a las que apunta example.com, junto con el servidor DNS que ha respondido a la consulta. nslookup viene preinstalado en Windows, macOS y Linux, por lo que funciona de inmediato en cualquier terminal o símbolo del sistema sin necesidad de configuración.
Puede ampliar el mismo comando para cubrir las tareas de resolución de problemas de DNS más habituales:
| Tarea | Comando |
|---|---|
| Búsqueda básica (dominio → IP) | nslookup example.com |
| Búsqueda inversa (IP → dominio) | nslookup 8.8.8.8 |
| Usar un servidor DNS concreto | nslookup example.com 8.8.8.8 |
| Buscar servidores de correo (MX) | nslookup -type=MX example.com |
| Buscar servidores de nombres (NS) | nslookup -type=NS example.com |
| Buscar registros TXT (SPF, DKIM, verificación) | nslookup -type=TXT example.com |
El resto de esta guía desglosa cada uno de ellos con su sintaxis, la salida real, el modo interactivo, el uso en scripts y alternativas como dig y host.
Introducción
En el vasto e interconectado mundo de Internet, el sistema de nombres de dominio (DNS) desempeña un papel fundamental a la hora de traducir los nombres de dominio legibles por las personas (como www.example.com) a direcciones IP que las máquinas pueden entender (como 192.0.2.1). Esta traducción es esencial para enrutar el tráfico por las redes y garantizar que los usuarios puedan acceder a sitios web, servicios y recursos sin problemas.
Cuando surgen problemas con la resolución DNS, los administradores de red y los profesionales de TI necesitan herramientas fiables para diagnosticarlos y solucionarlos. Una de esas herramientas indispensables es el comando nslookup. Esta utilidad permite a los usuarios consultar servidores DNS para obtener información sobre nombres de dominio, direcciones IP y diversos registros DNS.
¿Qué es nslookup?
Definición de nslookup
nslookup son las siglas de Name Server Lookup (consulta de servidor de nombres). Es una herramienta de línea de comandos que se utiliza para consultar servidores DNS (sistema de nombres de dominio) y obtener información sobre nombres de dominio, direcciones IP y otros registros DNS. Al facilitar las consultas DNS, nslookup ayuda a los usuarios y administradores a diagnosticar y resolver los problemas relacionados con el DNS.
El papel de nslookup en el diagnóstico de redes
El DNS es fundamental para el funcionamiento de Internet, y cualquier interrupción de los servicios DNS puede provocar problemas de accesibilidad en los sitios web y los servicios en línea. nslookup funciona como una utilidad de diagnóstico que permite:
- Verificar la configuración de los servidores DNS.
- Confirmar la existencia y la configuración de los registros DNS.
- Detectar problemas de propagación de DNS.
- Ayudar a resolver problemas de conectividad relacionados con el DNS.
Al proporcionar información detallada sobre las consultas y respuestas DNS, nslookup permite a los usuarios identificar y solucionar los problemas de DNS de forma eficaz.
Diferencias entre nslookup y otras herramientas DNS
Aunque nslookup es una herramienta potente, no es la única utilidad DNS disponible. Otras herramientas destacadas son:
dig(Domain Information Groper): ofrece opciones de consulta más detalladas y flexibles quenslookup. La prefieren muchos administradores de red por su salida completa.host: una utilidad más sencilla para realizar búsquedas DNS, ideal para consultas rápidas sin una salida extensa.
Frente a estas herramientas, nslookup suele considerarse más sencillo para las consultas DNS básicas, sobre todo para quienes se inician en el diagnóstico de redes. Sin embargo, para las consultas avanzadas y el uso en scripts, herramientas como dig pueden resultar más adecuadas.
Historia y antecedentes
Origen de nslookup
El comando nslookup surgió en los primeros años de Internet como parte del conjunto de herramientas BIND (Berkeley Internet Name Domain). Desarrollado para facilitar la consulta y la resolución de problemas de DNS, nslookup se convirtió en una utilidad estándar en diversos sistemas operativos, entre ellos UNIX, Linux y Windows.
Evolución de la herramienta con el tiempo
A lo largo de los años, nslookup ha recibido varias mejoras para perfeccionar su funcionalidad y la experiencia del usuario. Aunque su propósito principal sigue siendo la consulta DNS, las actualizaciones han incorporado características como:
- Un modo interactivo para realizar varias consultas dentro de una misma sesión.
- Compatibilidad con la consulta de distintos tipos de registros DNS.
- Una mejor gestión de errores y mensajes informativos.
Pese a la aparición de herramientas alternativas como dig, nslookup se sigue utilizando ampliamente por su sencillez y su disponibilidad en múltiples plataformas.
Estado actual y compatibilidad con los distintos sistemas operativos
Hoy en día, nslookup es una herramienta omnipresente disponible en la mayoría de los sistemas operativos, entre ellos:
- Windows: preinstalado como parte del sistema operativo.
- macOS: incluido en las utilidades de red del sistema.
- Linux/UNIX: disponible de forma predeterminada o a través de los gestores de paquetes, como parte de las utilidades DNS.
Su presencia constante en todas las plataformas hace de nslookup una herramienta de referencia para el diagnóstico de DNS en entornos informáticos muy diversos.
Sintaxis básica
Comprender la sintaxis básica del comando nslookup es esencial para aprovechar sus capacidades de forma eficaz. La estructura general es la siguiente:
nslookup [options] [hostname] [DNS server]
Explicación de los componentes del comando
nslookup: el comando en sí.[options]: indicadores opcionales que modifican el comportamiento del comando.[hostname]: el nombre de dominio o la dirección IP que desea consultar.[DNS server]: (opcional) especifica el servidor DNS que se utilizará para la consulta. Si se omite, se usa el servidor DNS predeterminado del sistema.
Ejemplos de comandos sencillos de nslookup
-
Búsqueda básica de un nombre de host:
nslookup www.example.comObtiene la dirección IP asociada a
www.example.commediante el servidor DNS predeterminado. -
Búsqueda inversa de IP:
nslookup 93.184.216.34Averigua el nombre de host asociado a la dirección IP
93.184.216.34. -
Especificar un servidor DNS:
nslookup www.example.com 8.8.8.8Consulta al servidor DNS público de Google (
8.8.8.8) la dirección IP dewww.example.com.
Ejemplos de uso habituales
El comando nslookup es versátil y ofrece diversas funciones para obtener distintos tipos de información DNS. A continuación se presentan algunos casos de uso habituales con comandos de ejemplo y sus explicaciones.
Consultar registros DNS
Los registros DNS almacenan información sobre un dominio, como su dirección IP, sus servidores de correo y sus alias. nslookup puede obtener varios tipos de registros DNS, entre ellos:
- Registro A (dirección): asigna un dominio a una dirección IPv4.
- Registro AAAA (dirección IPv6): asigna un dominio a una dirección IPv6.
- Registro MX (intercambio de correo): especifica el servidor de correo encargado de recibir los correos electrónicos del dominio.
- Registro CNAME (nombre canónico): alias de un dominio a otro.
Comandos de ejemplo:
-
Obtener un registro A:
nslookup -type=A www.example.comObtiene la dirección IPv4 de
www.example.com. -
Obtener un registro MX:
nslookup -type=MX example.comObtiene los servidores de correo de
example.com. -
Obtener un registro CNAME:
nslookup -type=CNAME blog.example.comAverigua el nombre canónico (alias) de
blog.example.com.
Salida esperada:
Para la consulta del registro MX:
example.com MX preference = 10, mail exchanger = mail.example.com
Esto indica que mail.example.com es el servidor de correo de example.com, con un valor de preferencia de 10.
Búsquedas DNS inversas
Las búsquedas DNS inversas consisten en consultar un nombre de dominio a partir de una dirección IP. Resulta útil para verificar el nombre de host asociado a una IP concreta, lo que puede ayudar a resolver problemas y realizar evaluaciones de seguridad.
Comando de ejemplo:
nslookup 93.184.216.34
Salida esperada:
34.216.184.93.in-addr.arpa name = www.example.com
Esta salida muestra que la dirección IP 93.184.216.34 se resuelve al nombre de host www.example.com.
Especificar servidores DNS
De forma predeterminada, nslookup utiliza el servidor DNS configurado en el sistema para realizar las consultas. Sin embargo, los usuarios pueden especificar un servidor DNS alternativo para consultar, lo que puede ser útil para hacer pruebas o para resolver problemas de los servidores DNS.
Comando de ejemplo:
nslookup www.example.com 8.8.8.8
Explicación:
Este comando consulta al servidor DNS público de Google (8.8.8.8) la dirección IP de www.example.com, en lugar de usar el servidor DNS predeterminado del sistema.
Salida de ejemplo:
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: www.example.com
Address: 93.184.216.34
Funciones avanzadas
Más allá de las consultas básicas, nslookup ofrece funciones avanzadas que amplían su utilidad para el análisis exhaustivo de DNS y el uso en scripts.
Modo interactivo
El modo interactivo permite a los usuarios introducir varios comandos dentro de una misma sesión de nslookup, lo que facilita unas investigaciones DNS más eficientes.
Entrar en el modo interactivo:
Basta con escribir nslookup sin ningún argumento:
nslookup
Ejemplo de interacción:
Default Server: resolver1.example.com
Address: 192.0.2.53
> set type=MX
> example.com
Server: resolver1.example.com
Address: 192.0.2.53
example.com MX preference = 10, mail exchanger = mail.example.com
> exit
Comandos habituales dentro del modo interactivo:
set type=[record type]: especifica el tipo de registro DNS que se va a consultar (por ejemplo, A, MX, CNAME).server [DNS server]: cambia el servidor DNS utilizado para las consultas dentro de la sesión.exit: sale del modo interactivo.
Establecer tipos de consulta
nslookup permite a los usuarios definir el tipo de registros DNS que desean consultar, lo que aporta flexibilidad a la información obtenida.
Sintaxis:
nslookup -type=[record type] [hostname]
Comandos de ejemplo:
-
Consultar un registro AAAA:
nslookup -type=AAAA www.example.comObtiene la dirección IPv6 de
www.example.com. -
Consultar un registro TXT:
nslookup -type=TXT example.comObtiene los registros TXT asociados a
example.com, que a menudo se utilizan para SPF, DKIM y la verificación de dominios. -
Consultar un registro NS:
nslookup -type=NS example.comEnumera los servidores de nombres autoritativos responsables de
example.com, lo que resulta útil para confirmar la delegación y diagnosticar problemas de propagación tras un cambio en el DNS.Salida de ejemplo:
example.com nameserver = a.iana-servers.net example.com nameserver = b.iana-servers.net
Usar nslookup en scripts
nslookup puede integrarse en scripts para automatizar las consultas DNS, lo que permite el procesamiento por lotes y la supervisión de los registros DNS.
Ejemplo: script de búsqueda DNS por lotes (Bash)
#!/bin/bash
# List of domains to query
domains=("example.com" "google.com" "nonexistentdomain.xyz")
# DNS server to use
dns_server="8.8.8.8"
# Loop through each domain and perform an A record lookup
for domain in "${domains[@]}"; do
echo "Querying A record for $domain using DNS server $dns_server"
nslookup -type=A "$domain" "$dns_server"
echo "----------------------------------------"
done
Explicación:
Este script recorre una lista de dominios y realiza una búsqueda de registro A para cada uno mediante el servidor DNS indicado (8.8.8.8). La salida proporciona las direcciones IP asociadas a cada dominio, lo que facilita el análisis DNS masivo.
Alternativas a nslookup
Aunque nslookup es una utilidad DNS muy utilizada, existen varias herramientas alternativas que ofrecen distintas características y ventajas. Conocer estas alternativas puede brindar a los usuarios más opciones para consultar y diagnosticar DNS.
dig
Descripción general del comando dig
dig (Domain Information Groper) es una herramienta de consulta DNS flexible y potente, muy utilizada en los entornos UNIX y Linux. Proporciona información detallada sobre las respuestas DNS, lo que la convierte en una de las favoritas de los administradores de red para el análisis exhaustivo de DNS.
Comparación entre dig y nslookup
- Nivel de detalle de la salida:
digofrece una salida más detallada y estructurada quenslookup, lo que resulta útil para la resolución de problemas avanzados. - Flexibilidad:
digpermite un control más preciso de los parámetros de consulta y admite opciones adicionales para personalizar las consultas DNS. - Uso en scripts:
digsuele preferirse para los scripts por su formato de salida coherente y fácil de analizar.
Comando dig de ejemplo:
dig www.example.com MX
Salida de ejemplo:
; <<>> DiG 9.20.4-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;www.example.com. IN MX
;; ANSWER SECTION:
www.example.com. 3600 IN MX 10 mail.example.com.
www.example.com. 3600 IN MX 20 mail2.example.com.
host
Introducción al comando host
El comando host es una utilidad sencilla para realizar búsquedas DNS. Está diseñado para ofrecer resultados de consulta DNS directos y concisos, lo que lo hace ideal para comprobaciones rápidas y para obtener información DNS básica.
Casos de uso en los que host es preferible
- Consultas DNS rápidas: cuando los usuarios necesitan hacer una búsqueda rápida sin necesidad de información detallada.
- Sencillez: para los usuarios que prefieren una salida minimalista, sin los detalles adicionales que aportan herramientas como
dig. - Uso en scripts: adecuado para scripts en los que solo se necesita la información esencial.
Comando host de ejemplo:
host -t TXT example.com
Salida de ejemplo:
example.com descriptive text "v=spf1 include:_spf.example.com ~all"
Otras herramientas
Más allá de dig y host, existen varias herramientas DNS más que pueden complementar o sustituir a nslookup según las necesidades.
whois
whois es un protocolo y una utilidad de línea de comandos que se usa para consultar bases de datos que almacenan los usuarios registrados o los titulares de un recurso de Internet, como los nombres de dominio y las direcciones IP. Proporciona información sobre la titularidad del dominio, los datos de registro y la información de contacto.
Caso de uso:
- Información de registro de dominios: para averiguar quién es el titular de un dominio concreto y cuáles son sus datos de contacto.
Comando de ejemplo:
whois example.com
tcpdump
tcpdump es un potente analizador de paquetes de red que captura y muestra el tráfico de red. Aunque no es una herramienta DNS exclusivamente, puede usarse para supervisar las consultas y respuestas DNS en tiempo real, lo que ayuda a resolver problemas de red y a realizar análisis de seguridad.
Caso de uso:
- Supervisión del tráfico DNS: para observar los patrones de consulta DNS y detectar anomalías o actividades maliciosas.
Comando de ejemplo:
tcpdump -i eth0 port 53
Wireshark
Wireshark es un analizador gráfico de protocolos de red que ofrece información detallada sobre el tráfico de red, incluidas las comunicaciones DNS. Cuenta con una interfaz fácil de usar para capturar, filtrar y analizar paquetes DNS.
Caso de uso:
- Análisis detallado de DNS: para examinar en profundidad las interacciones DNS y el comportamiento del protocolo.
Preguntas frecuentes (FAQ)
¿Para qué se utiliza el comando nslookup?
nslookup es una herramienta de administración de redes que se utiliza para consultar el sistema de nombres de dominio (DNS) y obtener información de correspondencia entre nombres de dominio y direcciones IP, así como otros registros DNS. Ayuda a los usuarios y administradores a resolver los problemas relacionados con el DNS, al ofrecer información sobre cómo se resuelven los nombres de dominio.
¿En qué sistemas operativos está disponible nslookup?
nslookup está disponible en la mayoría de los principales sistemas operativos, entre ellos:
- Windows: preinstalado como parte del sistema operativo.
- macOS: incluido en las utilidades de red del sistema.
- Linux/UNIX: disponible de forma predeterminada o a través de los gestores de paquetes, como parte de las utilidades DNS.
Su amplia disponibilidad lo convierte en una herramienta versátil para entornos muy diversos.
¿Cómo realizo una búsqueda DNS inversa con nslookup?
Una búsqueda DNS inversa le permite averiguar el nombre de host asociado a una dirección IP determinada. Para hacerlo con nslookup, basta con introducir la dirección IP como consulta. Por ejemplo:
nslookup 93.184.216.34
Salida de ejemplo:
34.216.184.93.in-addr.arpa name = www.example.com
Esta salida indica que la dirección IP 93.184.216.34 se resuelve al nombre de host www.example.com.
¿Cómo puedo especificar un servidor DNS distinto al usar nslookup?
De forma predeterminada, nslookup utiliza el servidor DNS configurado en el sistema. Para especificar un servidor DNS alternativo en su consulta, añada la dirección IP o el nombre del servidor DNS al final del comando. Por ejemplo:
nslookup www.example.com 8.8.8.8
Este comando consulta al servidor DNS público de Google (8.8.8.8) la dirección IP de www.example.com.
¿Qué tipos de registros DNS puedo consultar con nslookup?
nslookup admite la consulta de varios tipos de registros DNS, entre ellos:
- Registro A (dirección): asigna un dominio a una dirección IPv4.
- Registro AAAA (dirección IPv6): asigna un dominio a una dirección IPv6.
- Registro MX (intercambio de correo): especifica el servidor de correo encargado de recibir los correos electrónicos del dominio.
- Registro CNAME (nombre canónico): alias de un dominio a otro.
- Registro TXT (texto): contiene datos de texto arbitrarios, que a menudo se utilizan con fines de verificación y seguridad.
- Registro NS (servidor de nombres): indica los servidores DNS autoritativos del dominio.
Para consultar un tipo de registro concreto, use la opción -type seguida del tipo de registro. Por ejemplo:
nslookup -type=MX example.com
¿Cómo cambio el tipo de consulta en nslookup?
Cambiar el tipo de consulta le permite obtener registros DNS concretos. Use la opción -type (o -query) seguida del tipo de registro deseado. Por ejemplo, para consultar los registros MX de example.com:
nslookup -type=MX example.com
Salida de ejemplo:
example.com MX preference = 10, mail exchanger = mail.example.com
example.com MX preference = 20, mail exchanger = mail2.example.com
Esta salida muestra los servidores de correo asociados a example.com junto con sus valores de preferencia.
¿Puedo usar nslookup en scripts para automatizar consultas DNS?
Sí, nslookup puede integrarse en scripts para automatizar las consultas DNS. Esto resulta útil para el procesamiento por lotes, la supervisión de registros DNS o la realización de comprobaciones periódicas. A continuación se muestra un ejemplo de un script sencillo de Bash que utiliza nslookup para obtener los registros A de una lista de dominios:
#!/bin/bash
# List of domains to query
domains=("example.com" "google.com" "nonexistentdomain.xyz")
# DNS server to use
dns_server="8.8.8.8"
# Loop through each domain and perform an A record lookup
for domain in "${domains[@]}"; do
echo "Querying A record for $domain using DNS server $dns_server"
nslookup -type=A "$domain" "$dns_server"
echo "----------------------------------------"
done
Explicación:
Este script recorre una lista de dominios y realiza una búsqueda de registro A para cada uno mediante el servidor DNS indicado (8.8.8.8). La salida proporciona las direcciones IP asociadas a cada dominio, lo que facilita el análisis DNS masivo.
¿Cuál es la diferencia entre nslookup y dig?
Tanto nslookup como dig son herramientas de consulta DNS, pero presentan algunas diferencias:
- Nivel de detalle de la salida:
digproporciona una salida más detallada y estructurada, útil para el análisis exhaustivo de DNS.nslookupofrece una salida más concisa, adecuada para las consultas básicas. - Flexibilidad:
digpermite un control más preciso de los parámetros de consulta y admite opciones adicionales para personalizar las consultas DNS. - Uso en scripts:
digsuele preferirse para los scripts por su formato de salida coherente y fácil de analizar. - Disponibilidad:
nslookupestá disponible de forma predeterminada con más frecuencia en los distintos sistemas operativos, mientras quedigpuede requerir una instalación aparte en algunas plataformas.
Comando dig de ejemplo:
dig www.example.com MX
Salida dig de ejemplo:
; <<>> DiG 9.20.4-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;www.example.com. IN MX
;; ANSWER SECTION:
www.example.com. 3600 IN MX 10 mail.example.com.
www.example.com. 3600 IN MX 20 mail2.example.com.
¿Cómo entro en el modo interactivo en nslookup?
El modo interactivo le permite realizar varias consultas DNS dentro de una misma sesión de nslookup. Para entrar en el modo interactivo, basta con escribir nslookup sin ningún argumento y pulsar Enter:
nslookup
Ejemplo de interacción:
Default Server: resolver1.example.com
Address: 192.0.2.53
> set type=MX
> example.com
Server: resolver1.example.com
Address: 192.0.2.53
example.com MX preference = 10, mail exchanger = mail.example.com
> exit
Comandos habituales dentro del modo interactivo:
set type=[record type]: especifica el tipo de registro DNS que se va a consultar (por ejemplo, A, MX, CNAME).server [DNS server]: cambia el servidor DNS utilizado para las consultas dentro de la sesión.exit: sale del modo interactivo.
¿Qué debo hacer si nslookup devuelve un error o no responde?
Si nslookup devuelve un error o no recibe respuesta, tenga en cuenta los siguientes pasos para resolver el problema:
- Compruebe la conectividad a Internet: asegúrese de que su dispositivo está conectado a Internet.
- Verifique la disponibilidad del servidor DNS: el servidor DNS que está consultando podría estar caído o ser inaccesible. Pruebe a especificar un servidor DNS distinto.
- Confirme que el nombre de dominio es correcto: asegúrese de que el nombre de dominio que ha introducido es correcto y existe.
- Revise la configuración del cortafuegos: los cortafuegos o el software de seguridad podrían estar bloqueando las consultas DNS.
- Examine los mensajes de error: preste atención a los mensajes de error concretos que devuelve
nslookup(por ejemplo, «Server failed» o «NXDOMAIN») para identificar el problema. - Use herramientas alternativas: pruebe otras herramientas DNS como
digohostpara ver si arrojan resultados distintos.
Ejemplo de error y solución:
nslookup nonexistentdomain.xyz
Salida posible:
** server can't find nonexistentdomain.xyz: NXDOMAIN
Solución:
El error NXDOMAIN indica que el dominio no existe. Compruebe si el nombre de dominio tiene errores tipográficos o si se ha registrado recientemente.
