Descoberta confiável de cliente de rede (não mDNS?)

0

Eu tenho dispositivos (baseados em Linux) em uma rede DHCP / IPv4 cuja interface do usuário é via navegador / aplicativo móvel (através da LAN). A parte complicada é a descoberta do endereço IP do dispositivo. Estamos tentando usar o mDNS / DNS-SD, mas achamos que estamos nos deparando com problemas descritos neste post - definitivamente parecem ser mudanças de comportamento entre clientes com e sem fio na mesma rede.

Tentamos alterar a configuração de rastreamento IGMP do roteador, mas parece que isso não ajudou em nada. Eu estou querendo saber se o aplicativo cliente precisa enviar algum tipo de solicitação de associação IGMP para sinalizar para o roteador "sim, por favor, encaminhar todos os pacotes multicast mDNS para mim." (Embora o post acima pareça que o deve já estar acontecendo.

No final, preciso de uma maneira de um aplicativo / usuário descobrir com segurança o endereço IP de clientes em uma rede DHCP sem, digamos, observar a tabela do cliente DHCP de um roteador. Se não mDNS, então quais outras opções estão disponíveis? A única coisa em que posso pensar é um protocolo baseado em broadcast UDP personalizado, mas eu gostaria de evitar isso e usar algo "padrão", se possível. No entanto, podemos escrever código para o dispositivo e para o cliente do usuário, por isso temos toneladas de flexibilidade.

    
por thom_nic 04.04.2017 / 05:16

1 resposta

1

Eu uso algo assim:

nmap -sP 192.168.11.0/24 | egrep 'scan report'

Isso faz uma verificação de ping na sub-rede 192.168.11.x. Os endereços IP serão retornados para todos os hosts que estiverem na sub-rede, com nomes de host, se disponíveis.

Eu não tenho exatamente certeza de como isso é confiável. Eu vi hosts desistirem da lista e reaparecer - se eles realmente ficaram indisponíveis na rede naqueles horários ... quem sabe, eu não passei e verifiquei a conectividade nos outros hosts quando aconteceu ... mas ICMP deve pelo menos ver tudo na rede, independentemente de estar ou não do outro lado de uma conexão sem fio. YMMV.

Honestamente, eu tenho um aplicativo chamado 'fing' no meu telefone, que faz um bom trabalho com isso (na verdade, eu tenho o comando nmap acima envolvido em uma função do shell chamada fing() , só porque é fácil de lembrar).

    
por 04.04.2017 / 06:17