This post details about how you can search and identify the details about the UPNP devices available in your office or Home local network. UPNP Info Python script $ git clone https://github.com/lynxbee/upnp_info.git $ cd upnp_info $ python upnp_info.py Note: while running above script, refer another post “ Solved: ImportError: No module named requests ” if you get an error. If we run above script on your Linux / Ubuntu PC, it will show UPNP servers , devices information as below, [+] Discovering UPnP locations [+] Discovery complete [+] 5 locations found: -> http://192.168.0.100:52323/dmr.xml -> http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/desc.xml -> http://192.168.0.103:8200/rootDesc.xml -> http://192.168.0.102:58645/dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/desc.xml -> http://192.168.0.1:1900/igd.xml [+] Loading http://192.168.0.100:52323/dmr.xml...

Command line execution

Terminalbash
git clone https://github.com/lynxbee/upnp_info.git $ cd upnp_info  $ python upnp_info.py Note: while running above script, refer another post “ Solved: ImportError: No module named requests ” if you get an error. If we run above script on your Linux / Ubuntu PC, it will show UPNP servers , devices information as below, [+] Discovering UPnP locations [+] Discovery complete [+] 5 locations found: 	 -> http://192.168.0.100:52323/dmr.xml 	 -> http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/desc.xml 	 -> http://192.168.0.103:8200/rootDesc.xml 	 -> http://192.168.0.102:58645/dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/desc.xml 	 -> http://192.168.0.1:1900/igd.xml [+] Loading http://192.168.0.100:52323/dmr.xml... 	 -> Server String: Linux/2.6 UPnP/1.0 KDL-32W600A/1.7 	 ==== XML Attributes === 	 -> Device Type: urn:schemas-upnp-org:device:MediaRenderer:1 	 -> Friendly Name: BRAVIA KDL-32W600A 	 -> Manufacturer: Sony Corporation 	 -> Manufacturer URL: http://www.sony.net/ 	 -> Model Name: KDL-32W600A 	 -> Model Number: MINT1.7.0.1 	 -> Services: 	 	 => Service Type: urn:schemas-upnp-org:service:RenderingControl:1 	 	 => Control: /upnp/control/RenderingControl 	 	 => Events: /upnp/event/RenderingControl 	 	 => API: http://192.168.0.100:52323/RenderingControlSCPD.xml 	 	 	 - ListPresets 	 	 	 - SelectPreset 	 	 	 - GetMute 	 	 	 - SetMute 	 	 	 - GetVolume 	 	 	 - SetVolume 	 	 => Service Type: urn:schemas-upnp-org:service:ConnectionManager:1 	 	 => Control: /upnp/control/ConnectionManager 	 	 => Events: /upnp/event/ConnectionManager 	 	 => API: http://192.168.0.100:52323/ConnectionManagerSCPD.xml 	 	 	 - GetProtocolInfo 	 	 	 - GetCurrentConnectionIDs 	 	 	 - GetCurrentConnectionInfo 	 	 => Service Type: urn:schemas-upnp-org:service:AVTransport:1 	 	 => Control: /upnp/control/AVTransport 	 	 => Events: /upnp/event/AVTransport 	 	 => API: http://192.168.0.100:52323/AVTransportSCPD.xml 	 	 	 - SetAVTransportURI 	 	 	 - SetNextAVTransportURI 	 	 	 - GetMediaInfo 	 	 	 - GetTransportInfo 	 	 	 - GetPositionInfo 	 	 	 - GetDeviceCapabilities 	 	 	 - GetTransportSettings 	 	 	 - Stop 	 	 	 - Play 	 	 	 - Pause 	 	 	 - Seek 	 	 	 - Next 	 	 	 - Previous 	 	 	 - GetCurrentTransportActions 	 	 	 - X_DLNA_GetBytePositionInfo 	 	 => Service Type: urn:dial-multiscreen-org:service:dial:1 	 	 => Control: /upnp/control/DIAL 	 	 => Events: None 	 	 => API: http://192.168.0.100:52323/DIALSCPD.xml 	 	 => Service Type: urn:schemas-sony-com:service:IRCC:1 	 	 => Control: http://192.168.0.100/sony/IRCC 	 	 => Events: None 	 	 => API: http://192.168.0.100:52323/IRCCSCPD.xml 	 	 	 - X_SendIRCC 	 	 	 - X_GetStatus 	 	 => Service Type: urn:schemas-sony-com:service:ScalarWebAPI:1 	 	 => Control: /upnp/control/ScalarAPI 	 	 => Events: None 	 	 => API: http://192.168.0.100:52323/ScalarWebApiSCPD.xml [+] Loading http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/desc.xml... 	 -> Server String: Linux/4.4.192-perf UPnP/1.0 BubbleUPnP/3.4.7 	 ==== XML Attributes === 	 -> Device Type: urn:schemas-upnp-org:device:MediaRenderer:1 	 -> Friendly Name: BubbleUPnP (Nokia 7 plus) 	 -> Manufacturer: Bubblesoft 	 -> Manufacturer URL: http://forum.xda-developers.com/showthread.php?t=1118891 	 -> Model Description: BubbleUPnP Media Renderer 	 -> Model Name: BubbleUPnP Media Renderer 	 -> Model Number: 3.4.7 	 -> Services: 	 	 => Service Type: urn:schemas-upnp-org:service:AVTransport:1 	 	 => Control: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/AVTransport/action 	 	 => Events: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/AVTransport/event 	 	 => API: http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/AVTransport/desc.xml 	 	 	 - Pause 	 	 	 - SetRecordQualityMode 	 	 	 - Stop 	 	 	 - GetPositionInfo 	 	 	 - SetPlayMode 	 	 	 - Play 	 	 	 - GetDeviceCapabilities 	 	 	 - GetMediaInfo 	 	 	 - Next 	 	 	 - GetTransportInfo 	 	 	 - Previous 	 	 	 - Record 	 	 	 - SetAVTransportURI 	 	 	 - GetTransportSettings 	 	 	 - Seek 	 	 	 - GetCurrentTransportActions 	 	 => Service Type: urn:schemas-upnp-org:service:RenderingControl:1 	 	 => Control: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/RenderingControl/action 	 	 => Events: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/RenderingControl/event 	 	 => API: http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/RenderingControl/desc.xml 	 	 	 - GetMute 	 	 	 - GetVolume 	 	 	 - SelectPreset 	 	 	 - SetVolume 	 	 	 - ListPresets 	 	 	 - SetMute 	 	 => Service Type: urn:schemas-upnp-org:service:ConnectionManager:1 	 	 => Control: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/ConnectionManager/action 	 	 => Events: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/ConnectionManager/event 	 	 => API: http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/ConnectionManager/desc.xml 	 	 	 - GetCurrentConnectionIDs 	 	 	 - GetProtocolInfo 	 	 	 - GetCurrentConnectionInfo [+] Loading http://192.168.0.103:8200/rootDesc.xml... 	 -> Server String: Ubuntu DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.2.1 	 ==== XML Attributes === 	 -> Device Type: urn:schemas-upnp-org:device:MediaServer:1 	 -> Friendly Name: devlab: minidlna 	 -> Manufacturer: Justin Maggard 	 -> Manufacturer URL: http://www.netgear.com/ 	 -> Model Description: MiniDLNA on Linux 	 -> Model Name: Windows Media Connect compatible (MiniDLNA) 	 -> Model Number: 1.2.1 	 -> Services: 	 	 => Service Type: urn:schemas-upnp-org:service:ContentDirectory:1 	 	 => Control: /ctl/ContentDir 	 	 => Events: /evt/ContentDir 	 	 => API: http://192.168.0.103:8200/ContentDir.xml 	 	 	 - GetSearchCapabilities 	 	 	 - GetSortCapabilities 	 	 	 - GetSystemUpdateID 	 	 	 - Browse 	 	 	 - Search 	 	 	 - UpdateObject 	 	 => Service Type: urn:schemas-upnp-o

Implementation details

-> Server String: Linux/2.6 UPnP/1.0 KDL-32W600A/1.7 ==== XML Attributes === -> Device Type: urn:schemas-upnp-org:device:MediaRenderer:1 -> Friendly Name: BRAVIA KDL-32W600A -> Manufacturer: Sony Corporation -> Manufacturer URL: http://www.sony.net/ -> Model Name: KDL-32W600A -> Model Number: MINT1.7.0.1 -> Services: => Service Type: urn:schemas-upnp-org:service:RenderingControl:1 => Control: /upnp/control/RenderingControl => Events: /upnp/event/RenderingControl => API: http://192.168.0.100:52323/RenderingControlSCPD.xml - ListPresets - SelectPreset - GetMute - SetMute - GetVolume - SetVolume => Service Type: urn:schemas-upnp-org:service:ConnectionManager:1 => Control: /upnp/control/ConnectionManager => Events: /upnp/event/ConnectionManager => API: http://192.168.0.100:52323/ConnectionManagerSCPD.xml - GetProtocolInfo - GetCurrentConnectionIDs - GetCurrentConnectionInfo => Service Type: urn:schemas-upnp-org:service:AVTransport:1 => Control: /upnp/control/AVTransport => Events: /upnp/event/AVTransport => API: http://192.168.0.100:52323/AVTransportSCPD.xml - SetAVTransportURI - SetNextAVTransportURI - GetMediaInfo - GetTransportInfo - GetPositionInfo - GetDeviceCapabilities - GetTransportSettings - Stop - Play - Pause - Seek - Next - Previous - GetCurrentTransportActions - X_DLNA_GetBytePositionInfo => Service Type: urn:dial-multiscreen-org:service:dial:1 => Control: /upnp/control/DIAL => Events: None => API: http://192.168.0.100:52323/DIALSCPD.xml => Service Type: urn:schemas-sony-com:service:IRCC:1 => Control: http://192.168.0.100/sony/IRCC => Events: None => API: http://192.168.0.100:52323/IRCCSCPD.xml - X_SendIRCC - X_GetStatus => Service Type: urn:schemas-sony-com:service:ScalarWebAPI:1 => Control: /upnp/control/ScalarAPI => Events: None => API: http://192.168.0.100:52323/ScalarWebApiSCPD.xml [+] Loading http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/desc.xml... -> Server String: Linux/4.4.192-perf UPnP/1.0 BubbleUPnP/3.4.7 ==== XML Attributes === -> Device Type: urn:schemas-upnp-org:device:MediaRenderer:1 -> Friendly Name: BubbleUPnP (Nokia 7 plus) -> Manufacturer: Bubblesoft -> Manufacturer URL: http://forum.xda-developers.com/showthread.php?t=1118891 -> Model Description: BubbleUPnP Media Renderer -> Model Name: BubbleUPnP Media Renderer -> Model Number: 3.4.7 -> Services: => Service Type: urn:schemas-upnp-org:service:AVTransport:1 => Control: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/AVTransport/action => Events: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/AVTransport/event => API: http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/AVTransport/desc.xml - Pause - SetRecordQualityMode - Stop - GetPositionInfo - SetPlayMode - Play - GetDeviceCapabilities - GetMediaInfo - Next - GetTransportInfo - Previous - Record - SetAVTransportURI - GetTransportSettings - Seek - GetCurrentTransportActions => Service Type: urn:schemas-upnp-org:service:RenderingControl:1 => Control: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/RenderingControl/action => Events: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/RenderingControl/event => API: http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/RenderingControl/desc.xml - GetMute - GetVolume - SelectPreset - SetVolume - ListPresets - SetMute => Service Type: urn:schemas-upnp-org:service:ConnectionManager:1 => Control: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/ConnectionManager/action => Events: /dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/ConnectionManager/event => API: http://192.168.0.102:58645/dev/400449f9-a944-42b4-b22f-5e8a011b32d3/svc/upnp-org/ConnectionManager/desc.xml - GetCurrentConnectionIDs - GetProtocolInfo - GetCurrentConnectionInfo [+] Loading http://192.168.0.103:8200/rootDesc.xml... -> Server String: Ubuntu DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.2.1 ==== XML Attributes === -> Device Type: urn:schemas-upnp-org:device:MediaServer:1 -> Friendly Name: devlab: minidlna -> Manufacturer: Justin Maggard -> Manufacturer URL: http://www.netgear.com/ -> Model Description: MiniDLNA on Linux -> Model Name: Windows Media Connect compatible (MiniDLNA) -> Model Number: 1.2.1 -> Services: => Service Type: urn:schemas-upnp-org:service:ContentDirectory:1 => Control: /ctl/ContentDir => Events: /evt/ContentDir => API: http://192.168.0.103:8200/ContentDir.xml - GetSearchCapabilities - GetSortCapabilities - GetSystemUpdateID - Browse - Search - UpdateObject => Service Type: urn:schemas-upnp-o

Gotchas and common issues

  • Permission checks - verify user access rights and sudo privileges before executing system-level operations.

  • Environment configuration - double-check path variables and dependency versions to prevent runtime failures.

  • Backup safeguards - maintain configuration backups before applying system or database modifications.

Following these steps ensures clean configuration and reliable execution for script to find upnp devices / servers in a network.