是否有一个非侵入性的 uPnP 网络测试?

是否有一个非侵入性的 uPnP 网络测试?

我正在尝试弄清楚是否有办法在不同的网络上进行非侵入式测试,以查看路由器上是否启用了通用即插即用 (nPnP)。即路由器上是否实现了 Internet 网关设备配置文件?我正在考虑进行网页测试,但没有任何下载的可执行文件...(我不想让系统管理员和 IT 人员感到恐惧!)

网络内的用户会在浏览器中打开一个链接,然后页面上的 JavaScript 通过发现消息检查 UDP。我见过的唯一参考关于这种可能性

当支持 UPnP 的设备加入网络并想要知道网络上有哪些 UPnP 服务时,它会通过 UDP 协议向端口 1900 上的多播地址 239.255.255.250 发送一条发现消息。此消息包含一个标头,类似于 HTTP 请求。此协议有时称为 HTTPU(基于 UDP 的 HTTP):

M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: ssdp:discover MX: 10 ST: ssdp:all

所有其他 UPnP 设备或程序都需要通过向设备发送类似消息来响应此消息,使用 UDP 单播,宣布设备或程序实现的 UPnP 配置文件。一个有趣的怪癖:它使用 UDP 单播发送回发送设备发现消息的端口。对于它实现的每个配置文件,都会发送一条消息:

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

我知道如何通过浏览器中的 JavaScript 创建套接字和更常见的通信形式 (http),但不确定如何通过 UDP 进行通信。有人有什么想法吗?有人知道目前存在的 uPnP 配置测试工具吗?

我在 StackOverflow 上找到了一些回复,但它们都相当悲观。例如这里

相关内容