Entrando em contato com o servidor DNS via interface de linha de comando [closed]

2

Então, estamos no capítulo de DNS em nossa classe, e eu queria saber se há alguma maneira possível que eu possa conectar a um servidor DNS na porta 53 via interface de linha de comando (ou seja, Telnet ou netcat) como fazemos para SMTP ou HTTP ou POP em suas portas específicas; Eu tentei:

> telnet 8.8.8.8 53

Mas a conexão foi fechada assim que foi estabelecida; o que mais tarde percebi foi porque o telnet usa o TCP enquanto o DNS usa o UDP.

Depois tentei fazer o mesmo com o netcat:

> nc -u 8.8.8.8 53

Nada! Eu só quero ver o funcionamento do DNS com alguma transparência (como com http, SMTP etc.)

    
por Jarwin 23.10.2015 / 18:22

3 respostas

11

Como você nota, o DNS usa principalmente o UDP, mas o serviço também é fornecido pelo TCP (normalmente usado para grandes respostas e transferências de zona). É por isso que você conseguiu estabelecer uma conexão em primeiro lugar quando tentou telnet . Sua conexão foi fechada porque você não estava interagindo com o serviço da maneira esperada, não porque telnet usa TCP.

A diferença importante é que, ao contrário do HTTP e SMTP, que são protocolos de texto simples e fáceis de trabalhar diretamente, DNS é um protocolo binário .

Isso significa que você precisará de algum programa cliente DNS para interagir com servidores de nomes de qualquer maneira razoável.

dig tem sido o padrão de fato para solução de problemas de DNS por um tempo muito longo, pois é muito bom em termos de construção de consultas e em termos de impressão bonita de todas as informações na resposta de maneira concisa. (Parte da base de código do BIND e incluída na versão do Windows do ISC.)

drill é outra alternativa com recursos semelhantes e essencialmente a mesma formatação de saída que dig .

nslookup é bem conhecido como existe desde o início dos tempos. Ele foi largamente abandonado, exceto no Windows e tem algumas peculiaridades indesejáveis e recursos limitados em comparação com as alternativas mencionadas anteriormente. A opção de depuração ( set debug ) torna útil a solução de problemas em uma situação difícil, pois melhora muito a integridade da saída, embora a formatação da saída de depuração deixe muito a desejar.

    
por 23.10.2015 / 20:34
6

Você pode usar o utilitário dig , assim:

dig @your.dns.server www.foo.bar

Exemplo:

dig @8.8.8.8 www.google.com

Se você quiser ver a resolução do nome passo a passo, faça o seguinte:

dig +add +trace @8.8.8.8 www.google.com

Atenciosamente!

    
por 23.10.2015 / 18:33
2

Para o Windows, você pode usar o NSlookup

   nslookup [-opt ...]             # interactive mode using default server
   nslookup [-opt ...] - server    # interactive mode using 'server'
   nslookup [-opt ...] host        # just look up 'host' using default server
   nslookup [-opt ...] host server # just look up 'host' using 'server'
    
por 23.10.2015 / 19:14