Ha allen,
Ik heb een leuke tuin-irrigatie-schakelaar die werkt via Bluetooth. Nu heb ik er ook een "wifi-hub" bij gekocht zodat ik hem kan bedienen via Wifi. Heel leuk, maar om hem te bedienen moet je of hun app gebruiken of hun api. Oftewel, zodra de aanbieder bedenkt dat ze het product niet meer ondersteunen, zit ik met de gebakken peren. Dat wil ik voorkomen, dus wil ik de cloud dienst nabootsen en zo direct communiceren met de hub.
Nu blijkt hij te communiceren via HTTPS, wat het lastiger maakt, maar tegelijkertijd blijkt de hub elk willekeurig certificaat prima te vinden.
. Zodoende heb ik nu een simple node.js servertje gemaakt waar de hub verbinding mee maakt en die alle data vanaf de hub doorzet naar de echte server en andersom. Ik zie dus momenteel alle communicatie, en dat is:
(Server is hub -> mijn server -> echte server, client is: echte server -> mijn server -> hub)
Het verkeer wat je hier ziet zijn een soort ping berichtjes eens per 2 minuten. Een deel van deze data komt uit op een datum en tijd, bijv: 2020-11-13T07:54:26+01:00J. Maar er zit nog een boel data omheen die wisselt. Ik wil graag uitvinden wat dit betekent. Ik zou verwachten dat op het eind een soort checksum zit om het bericht te valideren, maar ik kan nog geen checksum genereren die overeenkomt met de data.
Met andere woorden: Heeft iemand een idee wat precies de samenstelling van de berichten zijn? Kan iemand helpen dit te ontcijferen?
Thanks
Ik heb een leuke tuin-irrigatie-schakelaar die werkt via Bluetooth. Nu heb ik er ook een "wifi-hub" bij gekocht zodat ik hem kan bedienen via Wifi. Heel leuk, maar om hem te bedienen moet je of hun app gebruiken of hun api. Oftewel, zodra de aanbieder bedenkt dat ze het product niet meer ondersteunen, zit ik met de gebakken peren. Dat wil ik voorkomen, dus wil ik de cloud dienst nabootsen en zo direct communiceren met de hub.
Nu blijkt hij te communiceren via HTTPS, wat het lastiger maakt, maar tegelijkertijd blijkt de hub elk willekeurig certificaat prima te vinden.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a31323a32372b30313a30304a00d12d Client zegt: aa775a0f1f001219323032302d31312d31335430393a31323a32372b30303a30304a00d497 Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a31343a32372b30313a30304a00ef26 Client zegt: aa775a0f1f001219323032302d31312d31335430393a31343a32372b30303a30304a00ea9c Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a31363a32372b30313a30304a000520 Client zegt: aa775a0f1f001219323032302d31312d31335430393a31363a32372b30303a30304a00009a Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a31383a32372b30313a30304a009330 Client zegt: aa775a0f1f001219323032302d31312d31335430393a31383a32372b30303a30304a00968a Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a32303a32372b30313a30304a009ee4 Client zegt: aa775a0f1f001219323032302d31312d31335430393a32303a32372b30303a30304a009b5e Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a32323a32372b30313a30304a0074e2 Client zegt: aa775a0f1f001219323032302d31312d31335430393a32323a32372b30303a30304a007158 Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a32343a32372b30313a30304a004ae9 Client zegt: aa775a0f1f001219323032302d31312d31335430393a32343a32372b30303a30304a004f53 Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a32363a32372b30313a30304a00a0ef Client zegt: aa775a0f1f001219323032302d31312d31335430393a32363a32372b30303a30304a00a555 Server zegt: aa775a0f27000a0644675522069d1219323032302d31312d31335431303a32383a32372b30313a30304a0036ff Client zegt: aa775a0f1f001219323032302d31312d31335430393a32383a32372b30303a30304a003345 |
(Server is hub -> mijn server -> echte server, client is: echte server -> mijn server -> hub)
Het verkeer wat je hier ziet zijn een soort ping berichtjes eens per 2 minuten. Een deel van deze data komt uit op een datum en tijd, bijv: 2020-11-13T07:54:26+01:00J. Maar er zit nog een boel data omheen die wisselt. Ik wil graag uitvinden wat dit betekent. Ik zou verwachten dat op het eind een soort checksum zit om het bericht te valideren, maar ik kan nog geen checksum genereren die overeenkomt met de data.
Met andere woorden: Heeft iemand een idee wat precies de samenstelling van de berichten zijn? Kan iemand helpen dit te ontcijferen?
Thanks
Oost west, 127.0.0.1 best!