Eu estou tentando descobrir se há uma maneira de fazer um teste não invasivo em redes diferentes para ver se o Universal Plug'n'Play (nPnP) está habilitado no roteador. Ou seja, o Perfil de dispositivo de gateway da Internet implementado no roteador? Estou pensando em um teste de página da web, mas sem qualquer tipo de executável baixado ... (não quero colocar nenhum medo nos corações dos administradores de sistemas e caras de TI!)
Um usuário, dentro da rede, abriria um link em um navegador e, em seguida, o JavaScript na página verificaria o UDP por meio da mensagem de descoberta. A única referência que eu vi sobre essa possibilidade é
When a UPnP capable device joins a network and wants to know what UPnP services are available on the network, it sends out a discovery message to the multicast address 239.255.255.250 on port 1900 via the UDP protocol. This message contains a header, similar to a HTTP request. This protocol is sometimes referred to as HTTPU (HTTP over UDP):
M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: ssdp:discover MX: 10 ST: ssdp:all
All other UPnP devices or programs are required to respond to this message by sending a similar message back to the device, using a UDP unicast, announcing which UPnP profiles the device or program implements. An interesting quirk: it is sent back with UDP unicast to the port the device discovery message was sent from. For every profile it implements one message is sent:
HTTP/1.1 200 OK CACHE-CONTROL:max-age=1800 EXT: LOCATION:http://10.0.0.138:80/IGD.xml SERVER:SpeedTouch 510 4.0.0.9.0 UPnP/1.0 (DG233B00011961) ST:urn:schemas-upnp-org:service:WANPPPConnection:1 USN:uuid:UPnP-SpeedTouch510::urn:schemas-upnp-org:service:WANPPPConnection:1
Eu sei como criar sockets e formas mais comuns de comunicação (http) via JavaScript no navegador, não sei como se comunicar via UDP. Alguém tem alguma ideia? Alguém está ciente de uma ferramenta de teste de configuração uPnP existente hoje?
Encontrei algumas respostas no StackOverflow, mas elas são bem pessimistas. por exemplo. aqui
Tags upnp javascript udp