Vi como é a representação de texto de uma solicitação HTTP, mas como é uma solicitação DNS? Onde nos dados está o local do URL que você está tentando localizar? Além disso, como a resposta é formatada?
domain-name-system
tcpip
AMWJ
fonte
fonte
Respostas:
Este é um despejo bruto do Wireshark de uma consulta DNS.
A parte do DNS começa com 24 1a:
E aqui está o detalhamento:
E a resposta, começando novamente em 24 1a:
Demolir:
Editar:
Observe que, se sua pergunta real é "como escrevo um servidor DNS?", Existem duas respostas apropriadas:
Editar (2):
A solicitação foi enviada usando
host
uma caixa Linux:Se você estiver no Windows, poderá usar
nslookup
fonte
/questions/173187/what-does-a-dns-request-look-like
incluído na solicitação?O layout dos dados da solicitação de DNS é descrito na RFC 1035 . Eu acho que é um pouco inútil copiar o texto aqui ...
fonte
As consultas e respostas de DNS são melhor analisadas usando um analisador de protocolo - o Wireshark é uma boa ferramenta de plataforma cruzada que pode capturar e desconstruir as solicitações e respostas em suas várias partes. Há uma boa introdução à estrutura de solicitações e respostas de DNS no Firewall.cx aqui .
As solicitações de DNS contêm perguntas que especificam um nome (ou talvez um campo de texto um tanto arbitrário) e um tipo de registro - o conteúdo da resposta varia de acordo com o tipo. A maioria das solicitações são simples pesquisas diretas de um nome de servidor que procuram um endereço IP em resposta (Tipo A), mas algumas buscam mais informações sobre os próprios servidores de nome (Tipo NS), registros de correio (Tipo MX) e outros serviços (Tipo SRV que retornará nomes, portas, pesos e prioridades). As respostas DNS contêm respostas para essas perguntas, possivelmente mais de uma, se a solicitação exigir isso e nem sempre são apenas endereços IP.
Outro esclarecimento - o DNS não resolve URLs - na maioria dos cenários que envolvem URLs, o DNS é usado apenas para permitir que o sistema do lado do cliente encontre o endereço IP da parte do servidor da URL; todo o resto é tratado por outros protocolos.
fonte
Se você puder acessar uma máquina Linux, poderá executar o comando dig para executar uma pesquisa de DNS. Este utilitário executa uma pesquisa e retorna exatamente o que o servidor de nomes responde. Por exemplo:
Tudo o que começa com a seção "HEADER" é o que é retornado do servidor de nomes. Estou assumindo que é esse o que você está chamando de formato de texto, porque esse não é o formato do pacote real, mas é o texto que é retornado.
fonte