Homematic wired

Begonnen von Henne1977, 26 Januar 2013, 22:46:00

Vorheriges Thema - Nächstes Thema

Dirk

Es gibt wohl auch ein Config-Tool. Zumindest laut diesem Thread. Damit lässt sich wohl auch die FW aktualisieren.
http://homematic-forum.de/forum/viewtopic.php?f=26&t=13480&sid=bd8ae47d9a92f25aa7e98ada97ceafa9&start=10

Gruß
Dirk

crazystone

Hi,

oh man, das wird wohl noch ein Stück Arbeit. Mit dem JAVA "Netfinder" von EQ3 wird das Gerät gefunden und als erreichbar angezeigt.


(siehe Anhang / see attachement)


Unter "Netzwerkeinstellungen ändern" und genauso gleich unter "Sicherheitsschlüssel ämdern" kann man die AES Passphrase als Zeichenkette oder als hex einstellen. Egal was ich tue, es kommt immer die Meldung der AES Schlüssel sei falsch. Ich habe aber definitiv keinen mit dem Gerät mitbekommen.

Die User-Software ("HomeMatic Konfigurator v1.509") findet dagegen nichts und sürzt auch wiederholt ab beim Versuch das Gerät manuell anzulegen.

Ich probier mal weiter mit dem Java Tool, vielleicht sehe ich ja, wie es das Gerät anspricht, zumindest liest es ja die Version aus...

Viele Grüße

Dirk

ZitatIch habe aber definitiv keinen mit dem Gerät mitbekommen.
Aus den Infos die ich hier bisher so aufgeschnappt habe, sollte da auf alle Fälle ein Schlüssel dran stehen. Auch nicht auf der Verpackung? Ansonsten rufe am Montag doch mal beim Händler an.

Gruß
Dirk

crazystone

Bin wieder einen Schritt weiter. Habe in der Verpackung (lag schon im Müll!!! ) einen abgefallenen Mini-Aufkleber (so groß wie Serial) gefunden, auf dem stand nur "PW: 8JdNdxxxxx" (letzte Zeichen ge-x-t). Das sind zwar nicht 32 Stellen wie beim HM Konfigurator angefragt, aber damit ließen sich im Netfinder die Netzwerkeinstellungen öffnen:


(siehe Anhang / see attachement)


Ich habe dann den Namen gleich mal geändert und die Netzwerkverschlüsselung abgeschaltet.

Werde jetzt malö schauen, ob ich jetzt mit dem Portscanner etwas finde, auch wenn mich das überraschen würde.

Gruß



crazystone

Tja, trotzdem ein Fort Knox, kein einziger Port offen:


Starting Nmap 6.40 ( http://nmap.org ) at 2013-08-25 13:37 Mitteleuropäische Sommerzeit
NSE: Loaded 110 scripts for scanning.
NSE: Script Pre-scanning.
Initiating ARP Ping Scan at 13:37
Scanning 192.168.178.37 [1 port]
Completed ARP Ping Scan at 13:37, 0.06s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 13:37
Completed Parallel DNS resolution of 1 host. at 13:37, 0.00s elapsed
Initiating SYN Stealth Scan at 13:37
Scanning HMS485LanGw.fritz.box (192.168.178.37) [65535 ports]
Completed SYN Stealth Scan at 13:37, 7.97s elapsed (65535 total ports)
Initiating Service scan at 13:37
Initiating OS detection (try #1) against HMS485LanGw.fritz.box (192.168.178.37)
Retrying OS detection (try #2) against HMS485LanGw.fritz.box (192.168.178.37)
NSE: Script scanning 192.168.178.37.
Initiating NSE at 13:37
Completed NSE at 13:37, 0.00s elapsed
Nmap scan report for HMS485LanGw.fritz.box (192.168.178.37)
Host is up (0.00043s latency).
All 65535 scanned ports on HMS485LanGw.fritz.box (192.168.178.37) are closed
MAC Address: 00:1A:22:03:01:27 (eQ-3 Entwicklung GmbH)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: WIZnet W5100 TCP/IP chip (90%), Compaq Tru64 UNIX 5.1B or HP OpenVMS 8.2 - 8.3 (89%), FreeBSD 5.5-STABLE (89%), HP OpenVMS 8.3 (89%), WIZnet W3150A TCP/IP chip (89%), Apple Mac OS X 10.5.6 (Leopard) (Darwin 9.6.0) (89%), FreeBSD 6.1-RELEASE (89%), FreeBSD 8.0-STABLE (89%), HP OpenVMS 8.2 (89%), OpenBSD 4.3 (89%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop

TRACEROUTE
HOP RTT     ADDRESS
1   0.43 ms HMS485LanGw.fritz.box (192.168.178.37)

NSE: Script Post-scanning.
Read data files from: C:\Program Files (x86)\Nmap
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.34 seconds
           Raw packets sent: 65560 (2.888MB) | Rcvd: 65544 (2.622MB)

crazystone

Und noch ne Nachfrage aus dem oben Gesagten:

In dem raw-Command wirklich die komplette Serial (JEQ...) als Zieladresse eintragen?

Viele Grüße

Dirk

ZitatIn dem raw-Command wirklich die komplette Serial (JEQ...) als Zieladresse eintragen?
Nein. Adresse != Seriennummer.
Die Adresse ist ein 8-Zeichen langer Hex-Code.
Die Adresse würde angezeigt bei einem Discovery, bzw. wenn man einen Eingang schaltet würde die im Log angezeigt.

Dirk

ZitatTja, trotzdem ein Fort Knox, kein einziger Port offen:
Sicher, dass der Portscan ausgeführt wurde ohne dass die Config-SW noch mit dem Gateway verbunden war?

crazystone

Also, wieder zwei kleine Schritte weiter und etwas dazugelernt. Meine ersten Gehversuche mit Wireshark und die Ergebnisse (siehe unten). Offensichtlich wird beim Auslösen des "Geräte-Aktualisieren" mit Netfinder der UDP Port 43439 abgefragt. Darauf meldet sich dann auch das LGW mit einer entsprechenden Antwort, im Wesentlichen wohl genau die Inhalte, die im Netfinder dargestellt werden.

Request:

(siehe Anhang / see attachement)


Response:

(siehe Anhang / see attachement)


Netzwerkverschlüsselung ist natürlich immer noch ausgeschaltet. Ich denke wir kommen der Sache näher...

Response-Daten:
??
<IP-Adresse> C0 A8 B2 25
??
<eQ3-Device Name> 15 byte (?!)
00
<Serial> 11 byte
00
<Version> 6 Byte (?!)
??


// Ich hab mir jetzt auch mal die Mühe verkniffen, meinen Serial zu schwärzen, der wäre ja dann ohnehin in den Hex-Daten lesbar :-) ..und wenn dann jemand mal in meinem LAN ist um den LGW zu pairen, habe ich wohl eh größere Probleme :-D

mgernoth

Hallo,

nur ganz kurz:

Verschlüsselung beim Wired-Gateway ist identisch zum Wireless-Gateway, nur der benutzte Schlüssel wird per einfachem MD5 aus dem Passwort erzeugt. Hatte auch mal ein Perl-Testprogramm gebastelt, mit dem man verschlüsselt mit dem GW reden kann: Link

Nach dem Verbindungsaufbau muss mit '>Sequenznummer+1,0000' in den RAW-Modus geschaltet werden.
Ich hab das damals (mit deaktivierter Verschlüsselung) an einem RPi mitgesniffed, auf dem die CCU2-SW lief. Ins Log hat die SW auch noch die Pakete (teilweise dekodiert) gelogged.
Das pcap hab ich mal hochgeladen, ich habe aber keine Ahnung mehr, welche Aktion auf dem Wired-Bus da noch drin zu finden sind: http://rmdir.de/~michael/gw.pcap

Gruß
  Michael

crazystone

Hallo Michael,

danke für den Input! Ich habe mir das pcap mal heruntergeladen und man sieht ganz klar die Kommunikation zwischen Port 1000 für den eQ3 und Port 41639 (vermutlich zufällig) auf dem RPi. sinnvoll erscheinde Befehle von RPi an den GW habe ich auch gefunden:


(siehe Anhang / see attachement)


Oder Dirk?

Michael, habe ich Dich richtig verstanden, dass ich den kompletten AES Schlüssel dann selbst erzeugen muss? Wenn ich die AES Verschlüsselung LAN seitig jetzt doch angeschaltet habe, sollte ich den nicht mehr brauchen, oder? Vielleicht doch nur, um diese HomeMatic Software zum spielen zu überreden...Also per Kommandozeile umwandeln?

Das Umschalten in den Raw-Mode, wie mache ich das?

Hattest Du das pcap an einem Wired-GW oder einem Wireless-GW (=HMLAN??) mitgeschnitten??

Viele Grüße

Dirk

ZitatWenn ich die AES Verschlüsselung LAN seitig jetzt doch angeschaltet habe, sollte ich den nicht mehr brauchen, oder?
Die AES-Verschlüsselung auf dem LAN mus auf alle Fälle aus sein. Das ist auch für den HMLAN noch nicht implementiert.
Ist aber trotzdem komisch das der Port 1000 sich bei dir bei einem Portscan nicht zeigt.

crazystone

Also nach gefühlten Stunden hat das NMAP Portscan doch noch einen offenen Port 1000 gefunden, allerdings nur über den "Slow comprehensive scan".


Initiating ARP Ping Scan at 15:12
Scanning 192.168.178.37 [1 port]
Completed ARP Ping Scan at 15:12, 0.02s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 15:12
Completed Parallel DNS resolution of 1 host. at 15:12, 0.00s elapsed
Initiating SYN Stealth Scan at 15:12
Scanning HMS485LanGw.fritz.box (192.168.178.37) [65535 ports]
SYN Stealth Scan Timing: About 2.08% done; ETC: 15:36 (0:24:17 remaining)
SYN Stealth Scan Timing: About 5.41% done; ETC: 15:36 (0:23:01 remaining)
SYN Stealth Scan Timing: About 9.99% done; ETC: 15:36 (0:21:46 remaining)
SYN Stealth Scan Timing: About 14.99% done; ETC: 15:36 (0:20:31 remaining)
SYN Stealth Scan Timing: About 19.98% done; ETC: 15:36 (0:19:17 remaining)
SYN Stealth Scan Timing: About 24.98% done; ETC: 15:36 (0:18:04 remaining)
SYN Stealth Scan Timing: About 29.97% done; ETC: 15:36 (0:16:52 remaining)
SYN Stealth Scan Timing: About 34.97% done; ETC: 15:36 (0:15:39 remaining)
SYN Stealth Scan Timing: About 40.17% done; ETC: 15:36 (0:14:24 remaining)
SYN Stealth Scan Timing: About 45.16% done; ETC: 15:36 (0:13:12 remaining)
SYN Stealth Scan Timing: About 50.16% done; ETC: 15:36 (0:11:59 remaining)
SYN Stealth Scan Timing: About 55.36% done; ETC: 15:36 (0:10:44 remaining)
SYN Stealth Scan Timing: About 60.57% done; ETC: 15:36 (0:09:29 remaining)
SYN Stealth Scan Timing: About 65.77% done; ETC: 15:36 (0:08:14 remaining)
SYN Stealth Scan Timing: About 70.77% done; ETC: 15:36 (0:07:02 remaining)
[b]Discovered open port 1000/tcp on 192.168.178.37[/b]
Increasing send delay for 192.168.178.37 from 0 to 5 due to 11 out of 17 dropped probes since last increase.
Increasing send delay for 192.168.178.37 from 5 to 10 due to 11 out of 12 dropped probes since last increase.
SYN Stealth Scan Timing: About 77.70% done; ETC: 15:43 (0:06:54 remaining)
SYN Stealth Scan Timing: About 80.51% done; ETC: 15:50 (0:07:30 remaining)
SYN Stealth Scan Timing: About 83.61% done; ETC: 15:58 (0:07:33 remaining)
SYN Stealth Scan Timing: About 86.96% done; ETC: 16:05 (0:06:55 remaining)
SYN Stealth Scan Timing: About 90.02% done; ETC: 16:11 (0:05:53 remaining)
SYN Stealth Scan Timing: About 92.62% done; ETC: 16:15 (0:04:42 remaining)
SYN Stealth Scan Timing: About 94.73% done; ETC: 16:19 (0:03:33 remaining)
SYN Stealth Scan Timing: About 96.29% done; ETC: 16:21 (0:02:35 remaining)
SYN Stealth Scan Timing: About 97.44% done; ETC: 16:23 (0:01:50 remaining)
SYN Stealth Scan Timing: About 98.26% done; ETC: 16:25 (0:01:16 remaining)
SYN Stealth Scan Timing: About 98.83% done; ETC: 16:26 (0:00:52 remaining)
SYN Stealth Scan Timing: About 99.23% done; ETC: 16:26 (0:00:35 remaining)
Completed SYN Stealth Scan at 16:27, 4540.35s elapsed (65535 total ports)


Der UDP Scan läuft gerade noch, noch bis heute 21:00,...

Ich fasse mal zusammen:
- eQ3 Netfinder.jar fragt Grundinformationen (Typ, Serial, Netzwerkkonfiguration) über UDP Port 43439 ab
- Netfinder.jar benötigt 10stelliges Passwort ("PW:") aus der Verpackung, um damit auf die Netzwerkeinstellungen zugreifen zu können
- (noch zu testen:) mit dem PW und MD5 kann man den kompletten AES Schlüssel erzeugen, den HomeMatic Konfigurator abfragt
- mittels Netfinder.jar lässt sich die Netzwerkverschlüsselung abschalten und der DNS Name ändern
- auch nach Abschaltung Netzwerkverschlüsselung erkennt HomeMatic Konfigurator das Gerät nicht
- auch nach Abschaltung der Netzwerkverschlüsselung funktioniert ein 'telnet' auf den Port 1000 nicht
- (noch zu beweisen:) man kann auch am HMW-LGW den TCP Port 1000 zur Kommandierung nutzen
- (noch zu beweisen:) man kann die RS485 Buskommandos direkt an HMW-LGW zur Steuerung der Geräte senden
- in FHEM lassen sich HMLAN und HM485_SERIAL mit der IP Adresse und dem Port 1000 anlegen und zeigen Status 'open'
- FHEM zeigt beim Anlegen eines HMLAN oder einer HM485_SERIAL immer wieder einen Verbindungsabbruch im Log

What next? Ich sollte irgendwie versuchen, serielle Raw Messages an ein HMLAN zu schicken.

Dirk, kannst Du mir ein einfaches Discovery bestätigen? Ist das


set HM485LAN raw FE 04 01 AE D0


Viele Grüße

mgernoth

Hallo,

Zitat von: crazystone schrieb am So, 25 August 2013 17:00- (noch zu testen:) mit dem PW und MD5 kann man den kompletten AES Schlüssel erzeugen, den HomeMatic Konfigurator abfragt
- auch nach Abschaltung Netzwerkverschlüsselung erkennt HomeMatic Konfigurator das Gerät nicht

Der (alte) HomeMatic-Konfigurator ist nur für das Wireless-Gateway gedacht und kann nicht mit dem Wired-Gateway benutzt werden, auch nicht, wenn man MD5(Passwort) macht.

Zitat- auch nach Abschaltung der Netzwerkverschlüsselung funktioniert ein 'telnet' auf den Port 1000 nicht

Doch, muss funktionieren. Wenn das nicht funktioniert, besteht schon eine TCP-Verbindung von einer anderen Gegenstelle. Ist das Gateway evtl. in Fhem irgendwie konfiguriert?

Zitat- (noch zu beweisen:) man kann auch am HMW-LGW den TCP Port 1000 zur Kommandierung nutzen

Ja, das habe ich damals gemacht. Mein Perl-Programm verbindet sich mit Port 1000/tcp und handelt die Session-IVs aus.

Zitat- (noch zu beweisen:) man kann die RS485 Buskommandos direkt an HMW-LGW zur Steuerung der Geräte senden

Sollte nach dem Senden von

>YY,0000

funktionieren, wobei YY die Sequenznummer des vorangegangenen SXX + 1 ist. (Siehe pcap-Dump oben. Der ist natürlich vom Wired-Gateway)

Zitat- in FHEM lassen sich HMLAN und HM485_SERIAL mit der IP Adresse und dem Port 1000 anlegen und zeigen Status 'open'

Dann geht also doch eine TCP-Verbindung zu Port 1000 bei Dir.

Zitat- FHEM zeigt beim Anlegen eines HMLAN oder einer HM485_SERIAL immer wieder einen Verbindungsabbruch im Log

Da das Wired-GW nicht standardmaessig transparent ist, fehlt da dann noch Initialisierungscode in Fhem.

Gruß
  Michael

crazystone

Oh man, man darf eben nicht zuviele Sachen auf einmal machen...

Nach einem "delete HM485LAN" meiner HMLAN entity, ging dann auch das 'telnet' auf den Port 1000. Ist so da erste Mal, dass ich es mit abgeschalter LAN Verschlüsselung getestet hatte.

Output:

Hb5,01,eQ3-HMW-LGW,1.0.4,KEQ0360763
Sb6


Michael, was hast Du gemeint, mit

ZitatDa das Wired-GW nicht standardmaessig transparent ist, fehlt da dann noch Initialisierungscode in FHEM

Hast Du da das gemeint?

>YY,0000

Ich habe keine CCU im Netz, demnach dürfte doch meine erste Sequenznummer '01' sein, oder?