Bonjour / consultas de Descoberta de Serviço DNS

0

Estou tentando implementar a descoberta de serviços de DNS em meu aplicativo (não, não estou solicitando uma resposta programática). O que eu acredito ser um dos meus maiores pontos problemáticos é gerar a consulta. Eu sei que preciso enviar uma transmissão multicast na porta 5353 e quero procurar por dispositivos do tipo _ipp._tcp e _print._tcp , mas não sei como a seção de perguntas precisa parecer.

Por exemplo, no SSDP, enviei uma consulta parecida com a seguinte:

"M-SEARCH * HTTP/1.1\r\n"
"HOST: 239.255.255.250:1900\r\n" +
"MAN: \"ssdp:discover\"\r\n"
"ST: urn:schemas-upnp-org:device:Printer:1\r\n"
"MX: 5000\r\n\r\n"

Pelo que sei sobre uma consulta de DNS, preciso enviar algo como:

"_ipp.tcp,all,all"

mas sei que precisa de mais.

Qualquer apontador para documentação, etc, seria muito apreciado!

atualizar rfc1035 parece conter informações promissoras sobre a estrutura da mensagem.     

por senloe 23.10.2013 / 02:09

1 resposta

0

Entre rfc1035 e wireshark , tenho uma boa ideia de como é uma consulta. Para uma consulta padrão, basicamente os campos Resposta / Autoridade / Adicional ficarão em branco. O cabeçalho contém informações gerais, incluindo quantas seções da pergunta estão incluídas.

+---------------------+
|        Header       |
+---------------------+
|       Question      | the question for the name server
+---------------------+
|        Answer       | RRs answering the question
+---------------------+
|      Authority      | RRs pointing toward an authority
+---------------------+
|      Additional     | RRs holding additional information
+---------------------+

O Wireshark oferece os bits e a visualização hexadecimal da consulta DNS. É uma ferramenta muito legal que eu gostaria de saber mais cedo.

    
por 23.10.2013 / 21:59