I'm trying to figure out if there is a way to do a non-invasive test on different networks to see if Universal Plug'n'Play (nPnP) is enabled at the router. i.e. Is Internet Gateway Device Profile implemented at the router? I'm thinking of a webpage test, but without any sort of downloaded executable... (I don't want to put any fear in the hearts of systems admin and IT guys!)
A user, inside the network, would open up a link in a browser, and then JavaScript on the page checks UDP via discovery message. The only reference I've seen on this possibility is
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
I know how to create sockets and more common forms of communication (http) via JavaScript in the browser, not sure how to communicate via UDP. Anybody have any ideas? Is anyone aware of a uPnP config testing tool existing today?
I've found a few responses on StackOverflow but they are pretty pessimistic. e.g. here
0 Answers