Fritz!Box Reboot "ohne" Telnet mit Bash Shell-Script (für aktuelle Firmware-Versionen 6 - 6.3)
Es kam gestern die Frage in meiner Anleitung zu Informationen aus dem Webinterface einer Fritz!Box via Shellscript auslesen, wie man die Fritz!Box ohne Telnet über ein Bash-Script neu starten kann.
Da bestehende Scripte im Web nur bei älteren 5er Firmware-Versionen funktionieren und ich im Web kein einzige Variante für aktuelle Firmware-Versionen(6.xx -6.3) finden konnte, poste ich das Script hier nochmal separat für diejenigen die genau danach suchen.
Grüße Uwe
p.s. ist zwar im Endeffekt nur ein einfacher GET-Request geworden, aber da die Traces in Wireshark etc. den spezifischen Parameter nicht offenbart haben, war doch etwas mehr Analyse der LUA-Scripte auf der Box nötig.
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
Da bestehende Scripte im Web nur bei älteren 5er Firmware-Versionen funktionieren und ich im Web kein einzige Variante für aktuelle Firmware-Versionen(6.xx -6.3) finden konnte, poste ich das Script hier nochmal separat für diejenigen die genau danach suchen.
Fritz!Box neu starten (Reboot) / kein aktiviertes Telnet notwendig
(die Variablen sollten selbsterklärend sein, ansonsten zur Erläuterung in den oben verlinkten Thread reinschauen)#!/bin/bash
_BOXURL="http://fritz.box"
_USERNAME=""
_PASSWORD="GEHEIM"
_CHALLENGE=$(curl -s ${_BOXURL}/login.lua | grep "^g_challenge" | awk -F '"' '{ print $2 }')
_MD5=$(echo -n ${_CHALLENGE}"-"${_PASSWORD} | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}')
_RESPONSE="${_CHALLENGE}-${_MD5}"
_SID=$(curl -i -s -k -d 'response='${_RESPONSE} -d 'page=' -d "username=${_USERNAME}" "${_BOXURL}/login.lua" | grep "Location:" | grep -Poi 'sid=[a-f\d]+' | cut -d '=' -f2)
# Box rebooten
echo 'Reboot in progress ... please allow up to 2 minutes for the box to come up!'
curl -s "${_BOXURL}/reboot.lua?sid=${_SID}&extern_reboot=1&ajax=1" >/dev/null
p.s. ist zwar im Endeffekt nur ein einfacher GET-Request geworden, aber da die Traces in Wireshark etc. den spezifischen Parameter nicht offenbart haben, war doch etwas mehr Analyse der LUA-Scripte auf der Box nötig.
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 274710
Url: https://administrator.de/contentid/274710
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
18 Kommentare
Neuester Kommentar
Für den Fall das noch jemand das Skript auf einer FritzBox 7360 (FW 6.30) verwenden will, sollte er in Zeile 8 anpassen da "awk $NF" nur den letzten Teil ausgibt. Die SID steht jedoch an vorletzter Stelle der Respnse, alles folgende kann man dann einfach mit "cut" wegschneiden lassen.
Besten Gruß
_SID=$(curl -i -s -k -d 'response='${_RESPONSE} -d 'page=' -d "username=${_USERNAME}" "${_BOXURL}/login.lua" | grep "Location:" | awk -F'=' '{print $2}' | cut -f1 -d"&" )
Besten Gruß
mmh hat ja mit dem passwort nichts zu tun
curl -s http://fritz.box/login.lua oder
curl -s http://IPDERBOX/login.lua liefert nichts zurück
curl -s http://fritz.box/login.lua oder
curl -s http://IPDERBOX/login.lua liefert nichts zurück
Hallo @colinardo
Ebenfalls Hallo und Sorry für das Reinplatzen. Das mit dem Edit habe ich in der Tat übersehen nochmal sorry.
Danke für die schnelle Antwort.
Leider fehlen mir die Fähigkeiten in der login.lua das Richtige zu finden.
Ich könnte die Datei aber hier posten falls gewünscht.
Grüße @andPS2
Ebenfalls Hallo und Sorry für das Reinplatzen. Das mit dem Edit habe ich in der Tat übersehen nochmal sorry.
Danke für die schnelle Antwort.
Leider fehlen mir die Fähigkeiten in der login.lua das Richtige zu finden.
Ich könnte die Datei aber hier posten falls gewünscht.
Grüße @andPS2
Hallo Uwe,
erst mal vielen Dank für deine schnelle Antwort! Ich habe alle FritzBoxen per VPN angebunden. Jedoch kommt es ab und zu vor, dass eine VPN-Verbindung "hängt". Also VPN wird auf beiden Seiten als etabliert angezeigt, FritzBox ist online, jedoch kommen keien Daten durch den Tunnel.
Jetzt hatte ich ein Script erstellt, welche die Konnektivität eines Tunnels testet und dann bei Problemen die FritzBox über die externe IP neu startet. Dies Funktionierte bis vor kurzem wie ein Traum Aber aufgrund von Leitungsumstellungen, musste auch die Firmware der FritzBoxen auf den aktuellesten Stand gebracht werden.
Viele Grüße
erst mal vielen Dank für deine schnelle Antwort! Ich habe alle FritzBoxen per VPN angebunden. Jedoch kommt es ab und zu vor, dass eine VPN-Verbindung "hängt". Also VPN wird auf beiden Seiten als etabliert angezeigt, FritzBox ist online, jedoch kommen keien Daten durch den Tunnel.
Jetzt hatte ich ein Script erstellt, welche die Konnektivität eines Tunnels testet und dann bei Problemen die FritzBox über die externe IP neu startet. Dies Funktionierte bis vor kurzem wie ein Traum Aber aufgrund von Leitungsumstellungen, musste auch die Firmware der FritzBoxen auf den aktuellesten Stand gebracht werden.
Viele Grüße