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...
-> 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-org:service:ConnectionManager:1
=> Control: /ctl/ConnectionMgr
=> Events: /evt/ConnectionMgr
=> API: http://192.168.0.103:8200/ConnectionMgr.xml
- GetProtocolInfo
- GetCurrentConnectionIDs
- GetCurrentConnectionInfo
=> Service Type: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
=> Control: /ctl/X_MS_MediaReceiverRegistrar
=> Events: /evt/X_MS_MediaReceiverRegistrar
=> API: http://192.168.0.103:8200/X_MS_MediaReceiverRegistrar.xml
- IsAuthorized
- IsValidated
- RegisterDevice
[+] Content browsing available. Looking up base directories...
Storage Folder: Browse Folders
Storage Folder: Music
Storage Folder: Pictures
Storage Folder: Video
[+] Loading http://192.168.0.102:58645/dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/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:MediaServer:1
-> Friendly Name: BubbleUPnP Media Server (Nokia 7 plus)
-> Manufacturer: Bubblesoft
-> Manufacturer URL: http://forum.xda-developers.com/showthread.php?t=1118891
-> Model Description: BubbleUPnP Media Server
-> Model Name: BubbleUPnP Media Server
-> Model Number: 3.4.7
-> Services:
=> Service Type: urn:schemas-upnp-org:service:ConnectionManager:1
=> Control: /dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/upnp-org/ConnectionManager/action
=> Events: /dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/upnp-org/ConnectionManager/event
=> API: http://192.168.0.102:58645/dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/upnp-org/ConnectionManager/desc.xml
- GetCurrentConnectionIDs
- GetProtocolInfo
- GetCurrentConnectionInfo
=> Service Type: urn:schemas-upnp-org:service:ContentDirectory:1
=> Control: /dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/upnp-org/ContentDirectory/action
=> Events: /dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/upnp-org/ContentDirectory/event
=> API: http://192.168.0.102:58645/dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/upnp-org/ContentDirectory/desc.xml
- Browse
- SyncGoogleMusic
- GetSearchCapabilities
- GetSortCapabilities
- Search
- GetSystemUpdateID
=> Service Type: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
=> Control: /dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/microsoft.com/X_MS_MediaReceiverRegistrar/action
=> Events: /dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/microsoft.com/X_MS_MediaReceiverRegistrar/event
=> API: http://192.168.0.102:58645/dev/c0e98591-5cb5-4a62-8685-ff5d3a3588ac/svc/microsoft.com/X_MS_MediaReceiverRegistrar/desc.xml
- GetAuthorizationGrantedUpdateID
- GetValidationSucceededUpdateID
- IsValidated
- GetAuthorizationDeniedUpdateID
- GetValidationRevokedUpdateID
- IsAuthorized
- RegisterDevice
[+] Content browsing available. Looking up base directories...
Storage Folder: Music
Storage Folder: Video
Storage Folder: Images
Storage Folder: Internal storage
Storage Folder: Saved playlists
Storage Folder: Google Music
Storage Folder: Google Drive
Storage Folder: Google Photos
Storage Folder: Dropbox
Storage Folder: Box
[+] Loading http://192.168.0.1:1900/igd.xml...
-> Server String: ipos/7.0 UPnP/1.0 TL-WR740N/4.0
==== XML Attributes ===
-> Device Type: urn:schemas-upnp-org:device:InternetGatewayDevice:1
-> Friendly Name: Wireless Router TL-WR740N
-> Manufacturer: TP-LINK
-> Manufacturer URL: http://www.tp-link.com
-> Model Description: Wireless Router TL-WR740N
-> Model Name: TL-WR740N
-> Model Number: 4.0
-> Services:
=> Service Type: urn:schemas-upnp-org:service:Layer3Forwarding:1
=> Control: /l3f
=> Events: /l3f
=> API: http://192.168.0.1:1900/l3f.xml
- SetDefaultConnectionService
- GetDefaultConnectionService
=> Service Type: urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1
=> Control: /ifc
=> Events: /ifc
=> API: http://192.168.0.1:1900/ifc.xml
- GetCommonLinkProperties
- GetTotalBytesSent
- GetTotalBytesReceived
- GetTotalPacketsSent
- GetTotalPacketsReceived
=> Service Type: urn:schemas-upnp-org:service:WANIPConnection:1
=> Control: /ipc
=> Events: /ipc
=> API: http://192.168.0.1:1900/ipc.xml
- SetConnectionType
- GetConnectionTypeInfo
- RequestConnection
- ForceTermination
- GetStatusInfo
- GetNATRSIPStatus
- GetGenericPortMappingEntry
- GetSpecificPortMappingEntry
- AddPortMapping
- DeletePortMapping
- GetExternalIPAddress
=> Service Type: urn:schemas-wifialliance-org:service:WFAWLANConfig:1
=> Control: http://192.168.0.1:1910/WFAWLANConfig/control
=> Events: http://192.168.0.1:1910/WFAWLANConfig/event
=> API: http://192.168.0.1:1900/http://192.168.0.1:1900/wfc.xml
[+] IGD port mapping available. Looking up current mappings...
[+] Fin.