Reverse Engineering Logitech Alert UPNP Findings

58 views
Skip to first unread message

Gary

unread,
Nov 29, 2011, 1:22:12 PM11/29/11
to ialert
Thank you Matt for all your hard work. It's really helped me to get a
jump start on this.

I wanted to post my latest findings on the UPNP discoveries. Feel
free to add/remove/update this with any new information.

Here's a dump of the output from a single cam:
13:00:02,629 DEBUG UpnpClientImpl:172 -
com.aol.useraccesstool.upnp.impl.UpnpClientImpl@e0c7c3
manufacture: Logitech
modelName: Logitech Alert(tm) 700i
modelNumber: LogitechAlertCamera-700i
modelDescription:
modelUrl:
friendlyName: Front Door (Indoor Security Camera)
deviceType: urn:upnp-logitech-com:device:SecurityDevice:1
udn: uuid:LogiSecurityDevice_00-12-AB-18-40-C9
location: http://192.168.1.180:62333/
manufactureUrl: http://www.logitech.com
ipv4Address: 239.255.255.250
ipv6Address: FF02::C
serialNumber:
ucp:
interfaceAddress: 192.168.1.179
13:00:02,645 DEBUG UpnpClientImpl:198 - action [0] = SetDeviceName
13:00:02,645 DEBUG UpnpClientImpl:198 - action [1] = SendMessage
13:00:02,645 DEBUG UpnpClientImpl:198 - action [2] =
GetSoftwareVersion
13:00:02,645 DEBUG UpnpClientImpl:198 - action [3] =
GetExternalServiceConfiguration
13:00:02,645 DEBUG UpnpClientImpl:198 - action [4] = IssueChallenge
13:00:02,645 DEBUG UpnpClientImpl:198 - action [5] = GetDeviceType
13:00:02,646 DEBUG UpnpClientImpl:198 - action [6] = GetDeviceId
13:00:02,646 DEBUG UpnpClientImpl:198 - action [7] = Authenticate
13:00:02,646 DEBUG UpnpClientImpl:198 - action [8] = GetDeviceName
13:00:02,646 DEBUG UpnpClientImpl:198 - action [9] = SendRequest
13:00:02,646 DEBUG UpnpClientImpl:198 - action [10] = GetProductId
13:00:02,646 DEBUG UpnpClientImpl:204 - stateVar [0] =
A_ARG_TYPE_DeviceId
13:00:02,646 DEBUG UpnpClientImpl:204 - stateVar [1] = EventMessage
13:00:02,646 DEBUG UpnpClientImpl:204 - stateVar [2] =
A_ARG_TYPE_ChallengeOutput
13:00:02,646 DEBUG UpnpClientImpl:204 - stateVar [3] =
A_ARG_TYPE_DeviceType
13:00:02,646 DEBUG UpnpClientImpl:204 - stateVar [4] =
A_ARG_TYPE_ExternalServiceType
13:00:02,647 DEBUG UpnpClientImpl:204 - stateVar [5] =
A_ARG_TYPE_VersionNumberString
13:00:02,647 DEBUG UpnpClientImpl:204 - stateVar [6] =
A_ARG_TYPE_RequestInput
13:00:02,647 DEBUG UpnpClientImpl:204 - stateVar [7] =
A_ARG_TYPE_AuthenticateOutput
13:00:02,647 DEBUG UpnpClientImpl:204 - stateVar [8] =
A_ARG_TYPE_AuthenticateInput
13:00:02,647 DEBUG UpnpClientImpl:204 - stateVar [9] =
A_ARG_TYPE_ExternalServicePort
13:00:02,647 DEBUG UpnpClientImpl:204 - stateVar [10] =
A_ARG_TYPE_MessageInput
13:00:02,647 DEBUG UpnpClientImpl:204 - stateVar [11] =
A_ARG_TYPE_ExternalServiceName
13:00:02,648 DEBUG UpnpClientImpl:204 - stateVar [12] =
A_ARG_TYPE_ExternalServiceData
13:00:02,648 DEBUG UpnpClientImpl:204 - stateVar [13] =
A_ARG_TYPE_ProductId
13:00:02,648 DEBUG UpnpClientImpl:204 - stateVar [14] =
A_ARG_TYPE_ChallengeInput
13:00:02,648 DEBUG UpnpClientImpl:204 - stateVar [15] = DeviceName
13:00:02,648 DEBUG UpnpClientImpl:204 - stateVar [16] =
A_ARG_TYPE_ResponseOutput

So it looks like the stateVars are items that can be modified, and the
actions are the requests that can be sent to the device.

Open for any feedback anyone finds.

~Gary

Reply all
Reply to author
Forward
0 new messages