Saltar al contenido principal

Consulta DNS en Mac, iPhone y iPad, sin terminal

A, AAAA, MX, CNAME, NS y TXT en una sola consulta en macOS, y esos seis más SOA en iPhone y iPad. Gratis, sin anuncios ni cuenta.

Por Lucas Russo, desarrollador de SSHive · Actualizado el

Un registro A cambió hace veinte minutos y el sitio sigue resolviendo a la dirección antigua. El correo ha dejado de entregarse y nadie sabe con certeza si el registro MX sobrevivió a la última migración de registrador. Un proveedor jura que su registro TXT de verificación está publicado, y tu tarea de aprovisionamiento dice lo contrario. En un Mac con terminal son preguntas de cinco segundos: dig, host, nslookup. Lejos de ese Mac se vuelven genuinamente incómodas. macOS por su parte ya no ayuda mucho. La pestaña Lookup de Utilidad de Red quedó obsoleta en Big Sur, dejó de funcionar en Monterey, y la app sencillamente no está en las versiones actuales de macOS. En iPhone y iPad no hay terminal alguno, así que toda pregunta de DNS necesita una app. El DNS Lookup de SSHive responde directamente. Escribes un nombre de host y recuperas los registros en una tabla. Una sola búsqueda dispara seis resoluciones en paralelo en macOS: A, AAAA, CNAME, MX, TXT y NS. Cada una es independiente, así que un dominio al que le falte un tipo devuelve igualmente todo lo demás en lugar de fallar. En iPhone y iPad, esa misma pantalla dispara esas seis más SOA, resueltas a través del resolutor del sistema. Lo decimos sin rodeos porque va al revés de lo que se espera: el móvil devuelve un tipo de registro más que el Mac, no menos, y muestra el TTL de cada respuesta. Y nada de esto está tras un muro de pago: toda la suite de herramientas de red, DNS Lookup incluido, es gratis en Mac, iPhone y iPad. Pro cubre funciones de SSH, SFTP, RDP y VNC, no el diagnóstico. Lo que suele importar más que la herramienta es saber qué significa la respuesta. De eso trata el resto de esta página.

Qué hace SSHive

Seis tipos de registro, una consulta

En macOS, una sola búsqueda dispara seis resoluciones en paralelo: A, AAAA, MX, CNAME, NS y TXT. Cada una se trata por separado, así que un dominio sin CNAME o sin IPv6 devuelve igualmente todo lo demás en vez de dar error. Los resultados aterrizan en una tabla Tipo/Valor, en un orden fijo y predecible.

Siete tipos de registro en iPhone y iPad

En móvil la resolución pasa por el resolutor BSD y devuelve A, AAAA, CNAME, MX, TXT, NS y SOA, sin duplicados, agrupados por tipo con una insignia de color, el TTL del registro y un botón de copia en cada valor. Las siete consultas se lanzan en serie, no en paralelo. Al lado hay una herramienta MX Lookup dedicada para el enrutado de correo.

Funciona en la versión del Mac App Store

DNS Lookup funciona igual en la versión del Mac App Store, en iPhone y en iPad. Una consulta DNS es tráfico de cliente saliente corriente, así que no hay guardia de sandbox ni modo degradado en ninguna parte: ningún entitlement que discutir y ninguna plataforma donde la herramienta responda menos que las demás.

Tu resolutor, no la API de otro

Las consultas van a los servidores DNS que tu dispositivo ya está configurado para usar. La versión de escritorio les habla directamente el protocolo DNS; en móvil se pasa por la vía de resolución del sistema. Nada se enruta a través de un servicio web de terceros, así que ningún proveedor de analítica ni intermediario de API ve qué dominios consultas (solo lo ve el resolutor que tu dispositivo ya usa), y la respuesta refleja lo que esta máquina va a resolver de verdad.

Diagnostica y luego arregla, en la misma app

DNS Lookup está en la misma ventana que tus sesiones SSH. Confirmas que el registro A está mal, abres una shell en el servidor de nombres y corriges la zona: sin cambiar de app y sin volver a teclear el nombre de host. Desde un iPhone a las 3 de la madrugada, esa es la diferencia entre confirmar un aviso y poder actuar sobre él.

Gratis en todas las plataformas

Las seis herramientas de red (consulta DNS, ping, traceroute, whois, consulta MX y comprobación de listas negras DNSBL) son gratis en Mac, iPhone y iPad, sin anuncios y sin cuenta. Pro es un pago único (unos 14,99 €, compra universal para Mac, iPhone y iPad) que levanta los límites del nivel gratuito y desbloquea RDP y VNC. No bloquea el diagnóstico.

Cómo hacerlo, paso a paso

  1. 1

    Abre las herramientas de red en macOS

    Haz clic en el icono de red de la barra lateral (su descripción emergente dice Herramientas de red) o en la píldora Herramientas de red de la pantalla de bienvenida. Cualquiera de los dos abre una pestaña propia con el panel de diagnóstico completo.

  2. 2

    O abre Herramientas en iPhone y iPad

    En el iPhone, toca Herramientas en la barra de pestañas inferior. En el iPad, selecciona Herramientas de red en la barra lateral. En la sección Diagnóstico, toca la segunda fila, Consulta DNS, con el subtítulo «Resolver un nombre de dominio».

  3. 3

    Introduce el nombre de host

    En el Mac, Búsqueda DNS es la primera tarjeta de la sección Resolución y reputación. Escribe el dominio a secas: example.com, no https://example.com/ruta. La app de Mac valida el nombre de host antes de que llegue al resolutor, así que una URL pegada se rechaza en lugar de recortarse en silencio.

  4. 4

    Lanza la consulta

    Pulsa Buscar. El botón pasa a «Ejecutando…» mientras las seis consultas salen en paralelo; las respuestas parciales no se descartan, así que aparecen resultados aunque varios tipos de registro no existan para ese dominio. En iPhone y iPad se lanza igual, y los registros vuelven agrupados en secciones por tipo.

  5. 5

    Lee y copia los registros

    La tabla de escritorio lista Tipo y Valor en un orden fijo: A, AAAA, MX (la prioridad seguida del nombre del servidor de intercambio), CNAME, NS y, por último, TXT con sus segmentos unidos. En móvil, cada tipo de registro tiene su propia sección, con un botón de copia en cada valor que se convierte en una marca verde una vez copiado.

  6. 6

    Contrasta los registros de correo si hace falta

    Si estás persiguiendo un problema de correo, abre a continuación la consulta MX. En macOS resuelve cada servidor de intercambio a sus direcciones IPv4, añade el nombre de DNS inverso de cada una y comprueba la primera dirección contra ocho zonas DNSBL: la vista de DNS inverso que DNS Lookup por sí solo no ofrece.

Leer la respuesta, y lo que no te está diciendo

A y AAAA son los registros de dirección. Dos registros A no son un estado de avería: suele ser round-robin o una flota anycast, y decide el cliente. Un AAAA publicado mientras la ruta IPv6 está rota es la causa clásica de «va lento para algunos usuarios»: Happy Eyeballs esconde el problema hasta el día en que deja de esconderlo. Un CNAME es un renombrado, no una redirección. Un nombre que lleva un CNAME no puede llevar legalmente ningún otro tipo de registro, pero ver aquí una fila CNAME junto a filas MX o TXT no prueba que la zona esté rota: SSHive consulta cada tipo por separado y el resolutor sigue el CNAME, así que esos registros suelen pertenecer al destino canónico, no al nombre que escribiste. Un CNAME en el ápex (example.com en sí) es inválido; los proveedores que parecen ofrecerlo están haciendo aplanamiento ALIAS/ANAME en el servidor. La prioridad MX es una preferencia, no una clasificación de calidad. Gana el número más bajo. Los emisores prueban primero el número menor y recurren al siguiente si falla; los números iguales se reparten la carga. Un «MX de respaldo» con número alto que no conoce tu lista de buzones produce backscatter, no resiliencia. En los TXT se deciden las cuestiones de correo. SPF en el ápex (v=spf1 …), DMARC en _dmarc.dominio, DKIM en selector._domainkey.dominio. Dos registros v=spf1 en el ápex son un error permanente (permerror) y bastan para que rechacen tu correo. Los valores TXT largos viajan en trozos de 255 bytes; SSHive los une con espacios, así que a una clave pública DKIM copiada de la tabla hay que quitarle los espacios antes de compararla. El TTL es una vida útil de caché, no una cuenta atrás hacia la propagación global. La propagación no existe: los servidores autoritativos cambian al instante. Lo que estás esperando es que cada resolutor recursivo que cacheó la respuesta antigua la deje expirar. Si el registro viejo tenía un TTL de 24 horas, ese es tu peor caso, y bajar el TTL después del cambio no sirve de nada. Bájalo 24 horas antes. La tabla de escritorio no muestra los TTL; iPhone y iPad muestran el TTL de cada registro. Para trabajar al TTL exacto desde un Mac, dig en un terminal sigue siendo el instrumento correcto. El DNS inverso (PTR) responde a otra pregunta y lo controla quien posee el bloque de IP, no el titular del dominio. SSHive lo expone en los resultados de la consulta MX, donde se gana su sitio: una IP emisora cuyo PTR no se reconfirma hacia el mismo host es una de las maneras más fiables de que te rechacen el correo. Otra es que esa IP figure en una lista negra, algo que la verificación DNSBL consulta zona por zona.

Preguntas frecuentes

¿Puedo hacer una resolución DNS en un iPhone sin terminal?+
Sí, y una app es la única opción: iOS no trae terminal ni ningún binario dig o nslookup al que puedas llegar. En SSHive, toca Herramientas en la barra de pestañas inferior, luego Consulta DNS en la sección Diagnóstico, e introduce el nombre de host. En iPhone y iPad el resultado cubre A, AAAA, CNAME, MX, TXT, NS y SOA, sin duplicados y agrupados por tipo, cada uno con su TTL y un botón de copia. Es gratis, sin anuncios y sin cuenta.
¿Qué tipos de registro devuelve SSHive en cada plataforma?+
Seis tipos de registro en una consulta en macOS (A, AAAA, MX, CNAME, NS y TXT) y siete en iPhone y iPad, que añaden SOA y muestran el TTL de cada respuesta. Las versiones anteriores de iOS solo devolvían direcciones, porque la API de resolución de alto nivel entrega direcciones de socket en lugar de registros de recurso DNS; ahora la app va directamente al resolutor BSD y analiza ella misma la sección de respuesta. SRV y CAA siguen sin estar soportados en ninguna plataforma.
¿Funciona DNS Lookup en la versión del Mac App Store?+
Sí, sin recortes: los seis tipos de registro que consulta el Mac. Las consultas DNS son tráfico de cliente de red saliente corriente, que el App Sandbox permite, así que no hay guardia ni conjunto de funciones recortado. Ahora ocurre lo mismo con el ping y el traceroute, que mucha gente da por imposibles en una app en sandbox: funcionan sobre un socket ICMP de datagramas, que no necesita root y que el sandbox permite. En esta suite no hay una versión de segunda.
¿Puedo comprobar la propagación DNS o consultar un servidor de nombres concreto como 8.8.8.8?+
No: SSHive no tiene campo de servidor de nombres personalizado en ninguna plataforma. Cada resolución va a los resolutores que tu dispositivo ya usa, lo cual es la respuesta correcta a «qué ve esta máquina ahora mismo», pero no a un sondeo de resolutores por todo el mundo. Para muestrear otra vista, cambia los servidores DNS del dispositivo, o alterna entre Wi-Fi y datos móviles, que normalmente también cambia de resolutor. Para un barrido de propagación multirresolutor, un comprobador web sigue siendo mejor instrumento.
¿SSHive muestra los valores de TTL?+
En iPhone y iPad sí: cada registro lleva su TTL, porque la app consulta directamente el resolutor BSD y lee los registros de recurso en vez de pasar por getaddrinfo, que devuelve direcciones de socket y descarta los metadatos de caché. La tabla de escritorio solo muestra Tipo y Valor. Si estás cronometrando un cambio desde un Mac y necesitas las vidas de caché restantes exactas, dig en un terminal es la herramienta correcta; la tarjeta de escritorio responde a la pregunta más rápida de cómo están los registros ahora.
¿Puedo hacer una resolución inversa (PTR)?+
No como herramienta independiente: DNS Lookup espera un nombre de host, no una dirección IP, y no hay tarjeta PTR en el panel. Donde el DNS inverso importa de verdad, SSHive sí lo muestra: los resultados de MX Lookup en macOS incluyen una columna rDNS que resuelve la dirección IPv4 de cada servidor de intercambio de vuelta a un nombre. Esa es la vista que necesitas al comprobar el DNS inverso confirmado de un host emisor.
¿DNS Lookup es gratis o requiere Pro?+
Gratis, en Mac, iPhone y iPad, sin anuncios, sin cuenta y sin límite de uso. Toda la suite de herramientas de red (consulta DNS, ping, traceroute, whois, consulta MX y comprobación de listas negras DNSBL) queda fuera de la barrera Pro en todas las plataformas. Pro es un pago único de unos 14,99 €, en compra universal para Mac, iPhone y iPad, que levanta los límites del nivel gratuito y desbloquea RDP y VNC. No hay suscripción.

Cómo se ejecuta la consulta en realidad, plataforma por plataforma

En macOS, SSHive no llama a la función POSIX de resolución de nombres del sistema. Usa la biblioteca resolutora que viene con el entorno de ejecución de escritorio, que construye y analiza los mensajes DNS por su cuenta y habla el protocolo directamente con los servidores declarados en tu configuración de red. Esa elección es lo que hace accesibles los tipos de registro que no son direcciones: la API POSIX getaddrinfo solo sabe responder a una pregunta, «dame las direcciones de socket de este nombre», y no tiene forma de expresar «dame el conjunto MX». Seis consultas (A, AAAA, MX, CNAME, NS, TXT) salen de forma concurrente, cada una con su propio manejo de errores, así que un dominio sin AAAA ni CNAME devuelve igualmente sus filas A y MX en lugar de convertir toda la consulta en un fallo. El nombre de host que escribes se valida contra un patrón estricto antes de llegar siquiera al resolutor. Esta implementación atraviesa el sandbox del Mac App Store sin tocar nada. Una consulta DNS es tráfico de cliente saliente corriente, cubierto por el entitlement de cliente de red, así que no hay nada que sortear. iOS tardó más en alcanzar la paridad, y la razón es instructiva. El camino obvio es getaddrinfo con AF_UNSPEC: recorrer la cadena addrinfo devuelta, convertir cada dirección con inet_ntop y eliminar duplicados. Funciona, y devuelve direcciones y nada más: es la naturaleza de esa API, que entrega direcciones de socket en lugar de registros de recurso y descarta los TTL, las secciones de autoridad y adicional, y todo lo que no sea una dirección. Durante mucho tiempo esa fue toda la pantalla de DNS en iOS: A y AAAA, sin manera de pedir un conjunto MX. La solución fue dejar de usar la API de alto nivel. SSHive llama ahora al resolutor BSD de libresolv a través de un pequeño auxiliar en C (res_init y luego res_query para cada tipo de registro) y analiza él mismo la sección de respuesta con ns_initparse y ns_parserr, expandiendo los nombres comprimidos con dn_expand. Eso devuelve los seis tipos del Mac más SOA, cada uno con el TTL que el servidor envió de verdad. Ninguna biblioteca resolutora de terceros ni API web por el camino: la consulta va de tu dispositivo a los resolutores que ya está usando. Merece la pena conocer una consecuencia de seguir la vía de resolución del sistema: respeta lo que imponga la red, incluida la síntesis DNS64/NAT64 en redes de operador solo IPv6, donde puedes ver legítimamente una respuesta AAAA para un host que solo publica un registro A. Eso no es un defecto de la herramienta. Es la red diciéndote cómo se conectará de verdad tu dispositivo. Lo que falta en todas partes, dicho sin rodeos: ni SRV ni CAA; ningún campo de servidor de nombres personalizado; ningún estado de validación DNSSEC mostrado. Conviene interiorizar la consecuencia práctica. SSHive responde a «qué resuelve esta máquina, ahora mismo», que es la pregunta que de verdad tienes durante una incidencia, y la que un comprobador web no puede responder por el dispositivo que tienes en la mano. «Qué dice la zona autoritativa» es una pregunta para dig @ns1.example.com, y lo sigue siendo.

Herramientas relacionadas