Como você verifica se um servidor de nomes responde a consultas recursivas?

18

Estou curioso para saber se você pode usar dig para verificar se um determinado servidor de nomes responde a consultas recursivas.

Obrigado!

Mikko
fonte

Respostas:

20

Use dige verifique o status dos bits RDe RAna resposta.

Por padrão dig, enviará uma consulta recursiva ( RDdefinida no cabeçalho da consulta), a menos que você defina o +norecursesinalizador da linha de comando.

Se o servidor suportar consultas recursivas, a resposta terá o RAbit "recursão disponível" definido nos cabeçalhos de resposta.

O RAbit é o teste de diagnóstico para suporte a consultas recursivas.

Alnitak
fonte
11

Veja se é possível consultar uma entrada DNS cuja autoridade não seja autorizada, por exemplo, tente host www.cnn.com ns.example.com:, em que ns.example.com é o servidor de nomes que você está testando. Se não responder a consultas recursivas, você receberá um RECUSED.

$ host www.cnn.com. ns1.example.com
Using domain server:
Name: ns1.example.com
Address: 192.168.183.130#53
Aliases:

Host www.cnn.com not found: 5(REFUSED)

enquanto um servidor DNS que faz consultas recursivas:

$ host www.cnn.com. 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

www.cnn.com has address 157.166.255.18
www.cnn.com has address 157.166.255.19
www.cnn.com has address 157.166.226.25
www.cnn.com has address 157.166.226.26
cjc
fonte
Muito obrigado @cjc. Eu também descobri outro método, mas usando dig. Tente procurar um domínio em um servidor de nomes que não seja autoritário para o domínio. Se não retornar nada, não estará respondendo a consultas recursivas.
27512 Mikko
@ Mikko, sim, ambos dige host(e agora os obsoletos nslookup) são ferramentas de consulta de DNS. Todos eles são suficientes para determinar se um servidor DNS está permitindo consultas recursivas a partir do seu endereço IP.
CJC
isso está errado - REFUSEDtambém é o código de resposta que você obtém se solicitar informações a um servidor de nomes autorizado sobre um domínio para o qual ele não possui um arquivo de zona.
Alnitak