Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - HS2 soll Thecus N2100 steuern (Shutdown)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Hallo Makki, Gaston, SmartEIB,

    im Anhang ist ein Log den ich mit Wireshark erstellt habe.
    Der Log wurde gestartet und dann die Webseite des Thecus N2100 aufgerufen und der Login mit User-ID "admin" und Password "1111" durchgeführt. Anschließend auf Reboot & Shutdown und dann Shutdown Button ausgeführt und gewartet bis der Server abschaltet.

    @SmartEIB: Der Thecus N2100 kann auch kein WOL und er schaltet sich auch nach einem Spannungsausfall nicht selbständig wieder ein.

    Ich werden ihn aber per Hardware Erweiterung so ändern, dass er nach einem Spannungsausfall selbständig wieder hochfährt.

    Am MT701 wird dann eine Startfunktion und Stopfunktion eingebaut.

    Startfunktion: Steckdose wird schaltbar gemacht. Spannung ein -> Server fährt selbständig hoch.

    Stopfunktion: Shutdown Befehl wird vom HS2 gesendet und ca. 60 Sec. später die Steckdose abgeschaltet.

    Ich glaube damit kann man leben. Oder?


    @All: Bitte um weitere Unterstützung damit die Shutdown Funktion doch noch realisiert werden kann.


    Danke für die Hilfe im Voraus.
    Grüße
    Mables
    Angehängte Dateien

    Kommentar


      #17
      Hier steht der spannende Teil 1:
      Code:
      Hypertext Transfer Protocol
          POST /usr/login.html HTTP/1.1\r\n
              Request Method: POST
              Request URI: /usr/login.html
              Request Version: HTTP/1.1
          Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms
          Referer: http://n2100/iframe_login.htm\r\n
          Accept-Language: de\r\n
          Content-Type: application/x-www-form-urlencoded\r\n
          Accept-Encoding: gzip, deflate\r\n
          User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; X2X19; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)\r\n
          Host: n2100\r\n
          Content-Length: 45
          Connection: Keep-Alive\r\n
          Cache-Control: no-cache\r\n
          Cookie: MYSESSID=280cdb72fd23e08356ae4bc4636b1512\r\n
          \r\n
      Line-based text data: application/x-www-form-urlencoded
          prevURL=&username=admin&pwd=1111&Submit=Login
      und hier der zweite Teil (Shutdown):
      Code:
      Hypertext Transfer Protocol
          POST /adm/setform.html HTTP/1.1\r\n
              Request Method: POST
              Request URI: /adm/setform.html
              Request Version: HTTP/1.1
          Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms
          Referer: http://n2100/adm/getform.html?name=sdrb\r\n
          Accept-Language: de\r\n
          Content-Type: application/x-www-form-urlencoded\r\n
          Accept-Encoding: gzip, deflate\r\n
          User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; X2X19; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)\r\n
          Host: n2100\r\n
          Content-Length: 27
          Connection: Keep-Alive\r\n
          Cache-Control: no-cache\r\n
          Cookie: MYSESSID=280cdb72fd23e08356ae4bc4636b1512\r\n
          \r\n
      Line-based text data: application/x-www-form-urlencoded
          prefix=sdrb&action=shutdown
      Ich sehe danach nichts mehr, was das OK-Fenster öffnen könnte.
      Gruss aus Radevormwald
      Michel

      Kommentar


        #18
        Hallo Michel,

        gibt es dann eine Chance das im HS2 zu integrieren?

        Es kommt aber jedes mal eine Abfrage die mit "OK" bestätigt werden muss, um den Shutdown auszuführen.


        Gruß
        Mables

        Kommentar


          #19
          Ohne (EDV)-Zugang zu diesem Gerat sehe ich da schwarz.

          Webseitenerstellung ist zwar nicht so schwierig, aber die Testphase und Fehlersuche funktioniert nur mit Theorie leider eben nicht.
          Gruss aus Radevormwald
          Michel

          Kommentar


            #20
            Also das Ding setzt nach dem Login doch ein Cookie (Frame 612), folgende zwei Aufrufe sollten den shutdown einleiten:

            Code:
            wget --post-data="prevURL=&username=admin&pwd=1111&Submit=Login" --save-cookies mycookie.txt --keep-session-cookies http://n2100/usr/login.html
            wget --post-data="prefix=sdrb&action=shutdown" --load-cookies mycookie.txt http://n2100/adm/setform.html
            Beim HS-part muss ich aber passen.. falls man da überhaupt mit Cookies arbeiten kann (?)
            Das "Ok" sollte nicht das Problem sein, das ist ein lokales js das lediglich vor den Post im Browser abgefragt wird..

            Makki
            EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
            -> Bitte KEINE PNs!

            Kommentar


              #21
              Zitat von makki Beitrag anzeigen
              Beim HS-part muss ich aber passen.. falls man da überhaupt mit Cookies arbeiten kann (?)
              Kann man nicht.

              Es gilt, einen http-Aufruf zu finden, der das Gewünschte komplett ausführt. Kurzum, wenn man es nicht schafft, die gewünschte Aktion alleine dadurch auszuführen, dass man den betreffenden Befehl in die Adress-Zeile des Browsers eintragt, dann wird es nicht funktionieren.
              Gruß Matthias
              EIB übersetzt meine Frau mit "Ehemann Ist Beschäftigt"
              Meine Homepage - PN nur für PERSÖNLICHES!

              Kommentar


                #22
                Wieso sollte das nicht gehen ? Bei senden verwendet man nicht den "HTTP Aufruf" sondern "Datenblöcke senden" und baut den gesammten Aufruf inklusive cookies und "POST" Daten auf.

                Die Frage ist nun ob die wget Kommandos von Makki funktionieren da der Browser zum Zeitpunkt vor dem login schon ein MYSESSID cookie hat. Gut möglich dass dieses nicht nötig ist oder ein überbleibsel der vorherigen Session ist.

                Gruss,
                Gaston

                Kommentar


                  #23
                  Hallo Makki,

                  es kommt schon eine Fehlermeldung bei der ersten Zeile.

                  Siehe Anhang.

                  Sieht so aus als ob mein wget mit "--keep-session-cookies" ein Problem hat.


                  Gruß
                  Mables
                  Angehängte Dateien

                  Kommentar


                    #24
                    Versuch mal in der 1. zeile vor der URL noch ein

                    Code:
                     
                     --referer="http://n2100/iframe_login.htm"
                    einzufügen

                    Edit:

                    P.S.: öhm, vor ein paar minuten sah deine Antwort aber noch ganz anders aus mit ZIP file und ohne diesen Fehler. Leider habe ich die Zip datei niocht mehr. Fehlte dort das --keep-session-cookies ?

                    Was sagt ein "wget --help" ?

                    Gruss,
                    Gaston

                    Kommentar


                      #25
                      Hallo Gaston,

                      ja ich habe da einen Fehler gemacht und es fehlte tatsächlich das --keep-session-cookies.


                      Die Antwort von wget --Help ist im Anhang.


                      Ich habe aber gerade noch mal alle Cookies gelöscht und gesperrt, danach das WI vom Server aufgerufen und es wird 100%ig kein Cookie erstellt.


                      Wenn ich mich aber einlogge und dann im Browser
                      "http://n2100/adm/setform.html?prefix...ction=shutdown"
                      eingebe, fährt der Server runter ohne dass noch ein OK bestätigt werden müsste.

                      Ist also schon ein kleiner Teilerfolg. Es fehlt nur noch der Login mit Passwort und das am besten in einer Zeile den Browser übergeben.


                      Grüße
                      Mables
                      Angehängte Dateien

                      Kommentar


                        #26
                        mea culpa, --keep-session-cookies war keine gute Idee, geht in wget 1.9 wohl nicht..

                        Lass es mal weg, hast Du das mit --referer="http://n2100/iframe_login.htm" schon probiert ? wäre auch meine nächste Idee gewesen

                        Was kommt den auf den ersten POST zurück ? (inhalt der von wget gespeicherten Datei) und steht was in dem mycookie.txt was ähnliches wie "MYSESSID=280cdb72fd23e08356ae4bc4636b1512" ?
                        Ansonsten hilft nur Trial & Error bis bei beiden Posts dieselben Antworten zurückkommen..

                        Was noch nen Versuch wert wäre (ich glaub aber nicht dass es funktioniert, das wär zu einfach)

                        Code:
                        wget --post-data="prefix=sdrb&action=shutdown" http://admin:1111@n2100/adm/setform.html


                        Makki
                        EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                        -> Bitte KEINE PNs!

                        Kommentar


                          #27
                          Hallo Makki,

                          meinst du

                          wget --post-data="prevURL=&username=admin&pwd=1111&Submit=Logi n" --save-cookies mycookie.txt --referer="http://n2100/iframe_login.htm" http://n2100/usr/login.html

                          wenn ja habe ich schon probiert, Rückmeldung siehe Anhang.


                          Was kann ich noch versuchen?


                          Grüße
                          Mables
                          Angehängte Dateien

                          Kommentar


                            #28
                            und noch was.

                            Die reine Login Seite kann ich über http://n2100/iframe_login.htm aufrufen, danach User-ID und Passwort eingeben und schon ist man eingelogt.

                            Im Anhang ist der Quellcode der Login Seite sowie das Bild.


                            Grüsse
                            Mables
                            Angehängte Dateien

                            Kommentar


                              #29
                              Mables,

                              Ich glaube es macht wenig Sinn weiter zu machen ohne Version 1.10 da von wget das Sessioncookie gebraucht wird. Könntest Du deine Version dahingehend updaten ?

                              Ob der Login funktioniert hat oder nicht kann man so nicht sicher sagen sieht aber danach aus. Der Webserver macht nach dem Login 2 Umleitungen. Eine per Meldung 302 die der wget interpretieren kann und eine per javascript die wget nicht mit macht.

                              Allerdings entsprechen beide genau dem deiner Trace vom login, ein gelungener Login ist also anzunehmen. Man müsste schon eine Wireshark-Trace eines fehlgeschlagenen logins sehen um zu erkennen ob man diese Schlussfolgerung halten kann da der server auch getform.html (wie der Name es auch vermuten lässt) dynamishc aufbauen könnte.

                              Gruss,
                              Gaston

                              Kommentar


                                #30
                                Hallo Gaston,

                                ich glaub es einfach nicht, es funzt!!!!

                                Es lag doch tatsächlich an der Wget Version 1.10.2 mit der es funzt.
                                Nun wird auch in "mycookie.txt" was vernünftiges eingetragen.

                                # HTTP cookie file.
                                # Generated by Wget on 2007-11-10 16:13:00.
                                # Edit at your own risk.
                                n2100 FALSE / FALSE 0 MYSESSID 4af8c028b6f50b85acf9bb64f7a0c69e

                                Mit den beiden Zeilen funzt der login und der shutdown.

                                1. wget http://n2100/usr/login.html --post-data="prevURL=&username=admin&pwd=1111&Submit=Logi n" --save-cookies mycookie.txt --keep-session-cookies

                                2. wget http://n2100/adm/setform.html --post-data="prefix=sdrb&action=shutdown" --load-cookies mycookie.txt

                                Wie muß jetzt das ganze im HS2 realisiert werden?


                                Danke an alle für die Unterstützung!
                                Mables

                                Kommentar

                                Lädt...
                                X