brayStorm / samsung-appliance-token

Fetch authorization token from Samsung applicances with an API on port 8888, for local consumption.
16 stars 2 forks source link

Step 4: Connection refused #2

Closed dam-pav closed 1 year ago

dam-pav commented 1 year ago

The appliance is live but won't accept connections on port 8888. Any ideas?

brayStorm commented 1 year ago

What type of appliance are you trying it on? Can you run nMap against the IP to see if it has an open 8888 port?

se4n01 commented 1 year ago

Hello,

Same issue for me here is nmap:

root@srv-dry:~# nmap 192.168.1.181

Starting Nmap 7.60 ( https://nmap.org ) at 2023-06-24 08:32 UTC
Nmap scan report for dryer (192.168.1.181)
Host is up (0.0057s latency).
Not shown: 999 closed ports
PORT      STATE SERVICE
49153/tcp open  unknown
MAC Address: 68:3A:48:35:C1:89 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 24.22 seconds

Using that port:

root@srv-dry:~/samsung-appliance-token# curl -k -H "Content-Type: application/json" -H "DeviceToken: xxxxxxxxxxx" --cert cert.pem --insecure -X POST https://192.168.1.181:49153/devicetoken/request -H "Host: 192.168.1.182:8889" -v
*   Trying 192.168.1.181...
* TCP_NODELAY set
* Connected to 192.168.1.181 (192.168.1.181) port 49153 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS handshake, CERT verify (15):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-ECDSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=OCF Device: Appliance SE (433f81b7-96b5-4e6a-9933-c5768959ac8c); OU=OCF HA Device; O=Samsung Electronics; C=KR
*  start date: Oct 13 04:54:05 2021 GMT
*  expire date: Dec 31 14:59:59 2069 GMT
*  issuer: CN=Samsung Electronics OCF HA Device SubCA v1; OU=OCF HA Device SubCA; O=Samsung Electronics; C=KR
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
> POST /devicetoken/request HTTP/1.1
> Host: 192.168.1.182:8889
> User-Agent: curl/7.58.0
> Accept: */*
> Content-Type: application/json
> DeviceToken: xxxxxxxxxxx
> 
* Empty reply from server
* Connection #0 to host 192.168.1.181 left intact
curl: (52) Empty reply from server

This dry was never connected to the net so I dont think its possible they did any update unless it was right when I connected it using the smartthings app.

Best wishes, Sean

brayStorm commented 1 year ago

Your model won't work via this method. I've done a bit of googling, and can't seem to see if a solution has been found yet. Good luck!

se4n01 commented 1 year ago

Hello,

Thanks - I'll keep an eye out for any updates and post here if I find something concrete.

In the meantime, I put the dry and washer on a dedicated subnet, rate limited them via my switch and set the firewall to only accept connections to the samsung api domain. Now I just use the standard smaterthings integration and I believe my aggressive isolation of the devices to be sufficient to protect my network.

Thanks Bray and best wishes, Sean

dam-pav commented 1 year ago

Wow. Looks like I abandoned my own issue, but I somehow seem to have missed the response notification. Apologies.

Some water has ran since then so I don't remember the details, but yes, I've given up on this. No amount of googling yielded any viable solutions. Closed and rightly so.

Zegorax commented 11 months ago

I have the same issue with mine. I believe newer models cannot use this method anymore :(

By any chance, were you able to solve this problem ?