2013-07-02 155 views
2

我试图找出连接到我的网络的UPnP设备的IP地址。在Windows上我能够参照以下问题在计算器上得到这样的信息:获取UPnP设备的IP地址

UPnP Multicast: missing answers from M-SEARCH (Discovery)

但是,我怎么能做到在Linux上?

+0

您想如何实施解决方案(shell脚本,C++,Java的)? – trojanfoe

+1

你对这个装置有什么了解?你可以访问路由器吗?动态建立的IP地址(使用DHCP)还是固定的?你期望与你的Linux机器在同一个子网上吗? – Floris

+0

对不起,我想在shell脚本中实现它。设备从DHCP获取IP。 – ChristianR

回答

3

根据你如何识别正确的设备,你可以看看gupnp-tools包(它是GUPnP项目的一部分)中的gssdp-discover。如果这不是你想要的,但你准备好编码了一下,看看源代码:gssdp-discover只有100行C,所以你应该能够在几十行蟒蛇...

例子:

$ gssdp-discover -t uuid:c013f58f-3072-4c3b-9df8-4f869c03edf2 -n 3 
Using network interface wlan0 
Scanning for resources matching uuid:c013f58f-3072-4c3b-9df8-4f869c03edf2 
resource available 
    USN:  uuid:c013f58f-3072-4c3b-9df8-4f869c03edf2 
    Location: http://10.10.15.61:49152/description.xml 
$ 
+0

谢谢你这个作品! – ChristianR