Uso de ferramentas de diagnóstico para DNS - nslookup, dig e host
Existen varias utilidades para comprobar o funcionamento da resolución de nomes DNS.
As máis empregadas son dig, nslookup e host. Estas tres podémolas atopar nos equipos con Linux e Mac, e nslookup en Windows, Linux e Mac.
Sumario
A utilidade dig
A utilidade dig pode mostrar axuda do comando co parámetro:
dig -h
Por defecto, resolve RR (rexistros de recursos) de tipo A, AAAA ou CNAME.
dig host dig equipo1.proba.lan
Se queremos indicar outro tipo de rexistro, témolo que indicar a continuación do nome buscado.
dig host type dig proba.lan soa
E se queremos empregar outro servidor DNS diferente ao establecido no cliente DNS, indicámolo cun @
dig DNS_Server host dig @192.168.0.20 equipo1.proba.lan
Para a resolución inversa deberemos indicar a opción -x
dig -x ip dig -x 192.168.0.24
É posible indicar a interfaz desde a cal se realizará a consulta (no caso de ter máis dunha configurada):
dig -b enderezo dig -b 192.168.0.1
Pódense recibir as consultas desde un ficheiro de texto externo (debe ter unha consulta por liña e coa mesma sinxtaxe que por liña de comandos):
dig -f ficheiro dig -f consultas.txt
dig é a única utilidade que nos indica se o servidor DNS que respondeu é autoridade na zona ou se empregaron reenviadores. No caso de que responda unha autoridade, aparece unha zona chamada AUTHORITY SECTION
A utilidade host
A utilidade host funciona en modo comando e tamén nos permite resolver nomes. Por defecto resolverá rexistros tipo A, AAAA, CNAME e MX.
host host host equipo2.proba.lan
Para resolver os outros tipos de rexistro, hai que indicar previamente coa opción -t o tipo de rexistro que queremos buscar:
host -t tipo host host -t ns proba.lan tipo pode ser tipo A, AAAA, CNAME, MX, NS, SOA
Para facer resolución inversa, simplemente poñemos o enderezo que queremos resolver:
host ip host 192.168.0.24
Se queremos empregar outro servidor DNS diferente ao establecido no cliente DNS indicámolo a continuación do rexistro buscado.
host host DNS_Server host equipo2.proba.lan 192.168.0.20
A utilidade nslookup
A utilidade nslookup é a única que está dispoñible en sistemas Linux e en sistemas Microsoft Windows.
Trátase dunha ferramenta de consola que permite traballar en modo interactivo entrando na súa propia consola ou en modo comando obtendo o resultado despois da súa execución.
Modo comando
Por defecto unicamente resolverá rexistros tipo A e CNAME.
nslookup host nslookup equipo2.proba.lan
Para resolver outros tipos de rexistro:
nslookup -q=tipo host nslookup -q=SOA proba.lan sendo tipo A, AAAA, A+AAAA, MX, NS, SOA ou ANY
E se queremos empregar outro servidor DNS diferente ao establecido no cliente DNS:
nslookup host DNS_Server nslookup www.facebook.com 1.1.1.1
Modo interactivo
- Indicamos o tipo executando set q=tipo
- Empregamos outro servidor DNS diferente ao establecido no cliente DNS indicandoo previamente server DNS_Server
Outros
tcpdump
No servidor:
sudo tcpdump -s1500 -n port 53
Nun cliente:
host www.google.es
Pódese consultar o ficheiro de saída xerado con ferramentas coma WireShark.
WireShark
Con WireShark é posible filtrar o tráfico para comprender mellor o funcionamento de DNS.