Nslookup (Name System Lookup) es una herramienta que nos permite obtener información, relacionada con el dominio o el host, en una red mediante la consulta a un servidor de nombres (DNS). Nos permite diagnosticar los posibles problemas de configuración que pudieran haber surgido en el DNS.
Nslookup se puede ejecutar en dos modos: interactivo y no interactivo.
Modo no interactivo.
Útil cuando sólo se necesita devolver un fragmento de datos. Sintaxis:
Nslookup [-opción] [hostname] [server]
Si omitimos el nombre del servidor, nslookup utiliza el nombre de servidor DNS por defecto, es decir, el que tengamos en la máquina desde la que lanzamos el comando.
Modo interactivo
Para iniciar el modo interactivo sólo necesitamos escribir nslookup en la línea de comandos:
root@brslinux-desktop:/# nslookup
>
Si queremos utilizar otro servidor de nombres, que no sea el de por defecto, para la consulta debemos utilizar el comando “server” o “lserver”.
Si escribimos “help” o “?” en el símbolo de sistema se muestra una lista con los comandos disponibles:
> ?
Comandos: (los identificadores se muestran en mayúsculas, [] significa opcional)
NOMBRE - imprimir información acerca de NOMBRE de host o de dominio con el servidor predeterminado
NOMBRE1 NOMBRE2 - igual que el anterior, pero se usa NOMBRE2 como servidor
help o ? - imprimir información acerca de comandos comunes
set OPCIÓN - establecer una opción
all - opciones de impresión, servidor actual y host
[no]debug - imprimir información de depuración
[no]d2 - imprimir información de depuración exhaustiva
[no]defname - anexar el nombre de dominio a cada consulta
[no]recurse - pedir respuesta recursiva a la consulta
[no]search - usar la lista de búsqueda de dominios
[no]vc - usar siempre un circuito virtual
domain=NOMBRE - establecer nombre de dominio predeterminado en NOMBRE
srchlist=N1[/N2/.../N6] - establecer dominio en N1 y lista de búsqueda en N1,N2, etc.
root=NOMBRE - establecer servidor raíz en NOMBRE
retry=X - establecer número de reintentos en X
timeout=X - establecer intervalo de tiempo de espera inicial en X segundos
type=X - establecer tipo de consulta (p. ej., A,AAAA,A+AAAA,ANY,CNAME,MX,NS,PTR,SOA,SRV)
querytype=X - igual que type
class=X - establecer clase de consulta (p. ej., IN (Internet), ANY)
[no]msxfr - usar transferencia de zona rápida MS
ixfrver=X - versión actual que se usará en la solicitud de transferencia IXFR
server NOMBRE - establecer el servidor predeterminado en NOMBRE con el servidor predeterminado actual
lserver NOMBRE - establecer el servidor predeterminado en NOMBRE con el servidor inicial
root - establecer el servidor predeterminado actual en la raíz
ls [opt] DOMINIO [> ARCHIVO] - enumerar las direcciones de DOMINIO (opcional: enviar el resultado a ARCHIVO)
-a - enumerar nombres canónicos y alias
-d - enumerar todos los registros
-t TIPO - enumerar los registros del tipo de registro RFC dado (p. ej. A,CNAME,MX,NS,PTR etc.)
view ARCHIVO - ordenar un archivo de resultados 'ls' y verlo con pg
exit - salir del programa
Todo lo que escribamos en el símbolo del sistema y que no se reconozca como un comando válido se supone que es un nombre de host y se intenta resolver utilizando el servidor predeterminado. Para interrumpir comandos interactivos, presione CTRL+C. Para salir del modo interactivo y volver al símbolo del sistema, escribir "exit" en el símbolo del sistema.
Es posible modificar el modo de consulta del comando nslookup usando el argumento set, que nos permite establecer varias opciones. Para ver una lista completa de las opciones escribir “set all”:
> set all
Servidor predeterminado: aag-dns-vip1.ehningen.de.ibm.com
Address: 9.0.136.50
Establecer opciones:
nodebug
defname
search
recurse
nod2
novc
noignoretc
puerto=53
tipo=A+AAAA
clase=IN
tiempo de espera=2
reintento=1
raíz=A.ROOT-SERVERS.NET.
dominio=ibm.es
MSxfr
versiónIXFR=1
srchlist=ibm.es/ibm.com
Para buscar diferentes tipos de registros para un nombre de dominio podemos utilizar el comando “set type” o “set q[uerytype]”. Como base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre. Por ejemplo:
- set type=mx: Permite obtener información relacionada con el(los) servidor(es) de correo de un dominio. El tipo MX asocia un nombre de dominio a una lista de MTAs (Mail Transfer Agents), o servidores de intercambio de correo, para ese dominio. Permite balanceo de carga y prioridad para utilizar más de un servicio de correo.
- set type=ns: Establece la asociación que existe entre un nombre de dominio y los servidores de nombres que almacenan la información de dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera de servidores de nombres.
- set type=a: Permite obtener información de un host de la red. Es el modo de consulta predeterminado. Traduce nombres de servidores a direcciones IPv4.
- set type=soa: Permite mostrar la información del campo SOA (inicio de autoridad). Proporciona información autorizada sobre una zona DNS, incluyendo el nombre del servidor primario de la zona, email del administrador de dominio, número de serie del dominio y diferentes timers relativos a la actualización de la zona.
- set type=cname : Permite mostrar información relacionada con los alias. Se utiliza para crear nombres de servidores de alojamiento adicionales, o alias, para los servidores de alojamiento de un dominio. Es usado cuando se están corriendo múltiples servicios (como ftp y servidor web) en un servidor con una sola dirección ip. Cada servicio tiene su propia entrada de DNS (como ftp.xxxxx.com. y www.xxxxx.com.)
- set type=hinfo: Permite mostrar, siempre y cuando los datos estén disponibles, la información relacionada con el tipo y el sistema operativo del host.
En la siguiente tabla podéis ver una lista más completa de los tipos más comunes de RR (Resource Record) que puede almacenar el DNS:
Number | RR | RFC | Description |
1 | A | RFC 1035 | IPv4 Network address (Dirección de red IPv4) |
2 | NS | RFC 1035 | Authoritative name server (Servidor de nombres) |
5 | CNAME | RFC 1035 | Canonical alias name (Nombre canónico) |
6 | SOA | RFC 1035 | Start of zone authority (Autoridad de la zona) |
11 | WKS | RFC 1035 | Well-known service; obsoleto en favor de SRV |
12 | PTR | RFC 1035 | Pointer to a domain name (Indicador). También conocido como registro inverso |
15 | MX | RFC 1035 | Mail exchange record (Registro de intercambio de correo) |
16 | TXT | RFC 1035 | Text record (Información textual) |
17 | RP | RFC 1183 | Responsible person (Persona responsable) |
18 | AFSDB | RFC 1183 | AFS-type services (BBDD registros AFS) |
25 | KEY | RFC 2535 | IPSEC key (Clave para IPSEC) |
28 | AAAA | RFC 3596 | IPv6 Network address (Dirección de red IPv6) |
29 | LOC | RFC 1876 | Location (Localización). Permite indicar la localización geográfica del dominio |
33 | SRV | RFC 2872 | Service locator (Servicios). Indica los servicios que ofrece el dominio |
37 | CERT | RFC 4398 | Certificate record (Registro de certificados). Almacena PKIX, SPKI, PGP, … |
44 | SSHFP | RFC 4255 | SSH Public Key Fingerprint (Huella dactilar de la clave pública SSH) |
48 | DNSKEY | RFC 4034 | DNS Key record (Clave de registro DNS). Registro de claves utilizadas en DNSSEC |
49 | DHCIP | RFC 4701 | DHCP Identifier (Identificador DHCP). Se utiliza junto con la opción FQDN de DHCP |
99 | SPF | RFC 4408 | Sender Policy Framework. Se utiliza para combatir el Spam |
Es posible consultar directamente desde otro servidor de
nombres. Para ello se utilizan los comandos “lserver” para utilizar el servidor
de nombres local y “server xxxxx” para cambiar a ese servidor de nombres.
C:\Users\Usuario>nslookup
Servidor predeterminado: aag-dns-vip1.ehningen.de.ibm.com
Address: 9.0.136.50
> server ns1.google.com
Servidor predeterminado: ns1.google.com
Address: 216.239.32.10
>
Con nslookup podemos transferir toda una zona mediante el comando "ls". La finalidad o utilidad de esto es ver todos los host que hay dentro de un dominio remoto. Generalmente las transferencias de zonas están bloqueadas en el servidor DNS de modo que sólo direcciones autorizadas puedan realizar esta función.
Si se utiliza ls sin argumentos se devolverá una lista de todas las direcciones y datos del servidor de nombres. El modificador -a devolverá alias y nombres canónicos, -d devolverá todos los datos y -t filtrará por tipo.
Las transferencias de zona se pueden bloquear en el servidor DNS de manera que sólo las direcciones o las redes autorizadas puedan realizar esta función.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.