foxx
Anmeldungsdatum: 4. August 2006
Beiträge: 136
|
So hier nun eine Lösung in Python mit Telnet (Dieses muss wie von MKay beschrieben vorerst durch das "Anrufen" von #96*7* aktiviert werden. Achtung: Mit aktiviertem Telnet gibt es keinen Support mehr von AVM. Um diesen wieder zu erlangen muss mittels des auf der enthaltenen CD Recovery-Tool die ursprüngliche Firmware wiederhergestellt werden). Diese ist noch Quick und Dirty. Wenn jemand weiß wie man sich "ordentlich" mittels Python/Bash oder sonst einer Skriptsprache an einem Telnetserver anmeldet kann er dies ja sagen. Ich werd wohl erst einmal nicht weiter suchen. Erstellt ein Skript mit dem Namen reconnect.py und dem folgenden Inhalt:
#!/usr/bin/env python
import subprocess
import os
password = raw_input('Fritz!Box Passwort: ');
command = "(sleep 3 && echo \"%s\" && sleep 3 && echo \"dsld -s\" && sleep 5 && echo \"dsld\" && sleep 5 && exit) | telnet fritz.box" % password;
p = subprocess.Popen(command, shell=True);
sts = os.waitpid(p.pid, 0) Gestartet wird es entweder durch "python reconnect.py" oder "./reconnect.py". Für letzteres muss es allerdings vorerst ausführbar gemacht werden. PS: Ich habe es noch nicht getestet, wenn für die Fritz!Box kein Web-Passwort zugewiesen wurde. Vielleicht reicht es bei der Passwortabfrage im Skript einfach ohne Passwort fortzufahren aber vielleicht lässt sich ohne Passwort garkein Telnet aktivieren. Schreibt bitte eure Erfahrungen. Gruß, foxx
|
MaxPowers82
Anmeldungsdatum: 11. November 2006
Beiträge: 175
Wohnort: Berlin
|
Danke foxx, es funktioniert. Mein Passwort konnte ich direkt ins Skript eintragen und fritz.box gegen die direkte IP tauschen(habe 2 FBFs im Netzwerk) Habe den Startbefehl in ein bash Skript gepackt und damit endlich die perfekte Lösung. Nur die sleep Befehle werde ich noch mal prüfen um das Skript zu beschleunigen. Bei ersten Tests wurde das Internet dabei aber komplett abgeschaltet. Welchen Sinn haben die beiden ps-Dokumente, die jedes Mal erstellt werden ? MfG Max
|
foxx
Anmeldungsdatum: 4. August 2006
Beiträge: 136
|
Schön das es funktioniert 😉 Also bei mir werden keine ps-Dateien erstellt... Eigentlich sollte alles vor dem | an die Telnet Konsole weiter geleitet werden und nichts irgendwo gespeichert werden. Wegen den Sleep Befehlen: Ja die können sicher verkürzt werden nur kann es sein das es dann je nach Rechenleistung und Internetanbindung nicht mehr funktioniert. Vielleicht find ich ja auch noch eine bessere Lösung. Gruß, foxx
|
foxx
Anmeldungsdatum: 4. August 2006
Beiträge: 136
|
Hallo, ich hab das ganze Skript mal noch etwas verbessert. So wird jetzt nicht mehr raw_input sondern getpass verwendet damit man bei der Eingabe nicht das Passwort sieht. Außerdem lassen sich die Wartezeiten jetzt besser anpassen. Eine bessere Lösung als das hab ich leider noch nicht gefunden. Man könnte zwar mit subprocess "ordentlicher" die einzelnen Telnet-Eingaben an die Telnet-Shell senden aber praktisch wird es dadurch das gleiche bleiben, also der Nerv mit den sleeps. Am besten versuchen so geringe Werte wie möglich zu verwenden dann geht das schon ziemlich schnell. Besonders auch schneller als ein kompletter Fritz!Box Restart. Gruß, foxx
- reconnect_fritzbox.py (1.5 KiB)
- Download reconnect_fritzbox.py
|
MaxPowers82
Anmeldungsdatum: 11. November 2006
Beiträge: 175
Wohnort: Berlin
|
Danke für die ganze Mühe, werd mir dein Script morgen mal ansehen. Da auch das alte Skript bei mir mittlerweile unter 10 Sekunden läuft bin ich voll zufrieden. MfG Max
|
felikz
Anmeldungsdatum: 15. Juli 2007
Beiträge: 31
|
bei mir funktioniert das skript auch einwandfrei! =) aber auf der startseite meiner fritzbox wird nun folgendes angezeigt:
FRITZ!Box Fon WLAN 7170 (UI), Firmware-Version 29.04.29 In Ihrer FRITZ!Box wurden vom Hersteller nicht unterstützte Änderungen durchgeführt. Weitere Informationen.
was ist denn da los? \^^ habe ich - wo nun telnet aktiviert ist - auch eine potentielle tür für angreifer geöffnet? gruß, felix
|
MaxPowers82
Anmeldungsdatum: 11. November 2006
Beiträge: 175
Wohnort: Berlin
|
@felikz Telnet überträgt Passwörter im Klartext, für Verbindungen über das Internet ist es also nicht zu empfehlen. Die FritzBox öffnet ihren Telnet-Zugriff aber nur für das Netzwerk. Wenn du denn Leuten in deinem Netzwerk traust & Wlan sicher mit WPA/WPA2 eingerichtet oder deaktiviert hast, haben Angreifer keine Chance. Prinzipiell wäre ssh schöner, das kann die FBF aber leider nicht. Im ip-phone-forum gibt es einige Lösungen, um ssh auf der FBF zu installieren. Davor sollte man sich aber in die Materie einlesen (sonst wird die FBF zum 1a Briefbeschwerer 😉 ) ! MfG Max
|
MKay
Anmeldungsdatum: 25. Februar 2007
Beiträge: 274
|
Hi, für die, die es interessiert: Ich habe endlich ein Skript im Internet gefunden, das einen sehr schnellen Reconnect durchführt ohne Telnet aktivieren zu müssen oder die FB neu zu starten. #!/bin/bash
cat <<END | nc -w 1 fritz.box 49000 > /dev/null
POST /upnp/control/WANIPConn1 HTTP/1.1
HOST: fritz.box:49000
SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination"
CONTENT-TYPE: text/xml ; charset="utf-8"
Content-Length: 293
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<u:ForceTermination xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" />
</s:Body>
</s:Envelope>
END Leider finde ich die Adresse nicht mehr, wo ich das her habe :X
PS: Vllt können ja mal ein paar Leute Feedback geben, ob das Script bei ihnen auch funktioniert 😉 Gruss MKay
|
MaxPowers82
Anmeldungsdatum: 11. November 2006
Beiträge: 175
Wohnort: Berlin
|
Bei mir funktionierts, Danke
|
foxx
Anmeldungsdatum: 4. August 2006
Beiträge: 136
|
Bei mir funktioniert es leider nicht. Das wäre natürlich die beste Version über upnp und ohne nervige Umwege mit Telnet... Wenn ich das Skript ausführe passiert einfach nichts:
$ ./recon.new.sh
$ Unter Windows hatte ich mal ein kleines Tool probiert welches ebenfalls über uPNP und sehr zuverlässig funktionierte. Da dauerte ein Reconnect auch nur wenige Sekunden.
PS: Gibt es vielleicht eine Möglichkeit die Router-Rückgaben auszulesen? Eventuell steht da ja etwas über das Problem... Gruß, foxx
|
MKay
Anmeldungsdatum: 25. Februar 2007
Beiträge: 274
|
Jo, genau. Unter windows hatte ich "fritzbox reconnect". Das ging super schnell. Und unter Linux fehlte mir bis vor kurzem die Möglichkeit. Alle Tipps die ich gefunden hatte funktionierten nicht, aber das Script worked bei mir jetzt einwandfrei, genauso schnell wie das eben erwähnte win-tool. Vllt mag der bei dir das "fritz.box" in dem Skript nicht. Kannst ja mal versuchen das durch die Router-IP zu ersetzen. Gruss MKay
|
foxx
Anmeldungsdatum: 4. August 2006
Beiträge: 136
|
Also das hilft nichts. Die Adresse fritz.box wird hier auch problemlos aufgelöst. Eventuell hat es etwas damit zu tun, dass ich die IP Adresse des Routers von 192.168.178.1 zu 192.168.0.1 geändert hab... Aber der Inhalt des Skriptes sieht nicht danach aus als ob das stören sollte. Was für eine Fritz!Box hast du denn und welche Firmware? Ich hab eine Fritz!Box 7170 mit der Firmware 29.04.95-8221 (Derzeit Aktuellste Labor-USB-FW) Gruß, foxx
|
MKay
Anmeldungsdatum: 25. Februar 2007
Beiträge: 274
|
Ich habe eine FRITZ!Box SL (UI), Firmware-Version 05.01.83
|
foxx
Anmeldungsdatum: 4. August 2006
Beiträge: 136
|
Okay die ist schon etwas älter, also im Vergleich - jedenfalls ist die aktuellste firmware vom 5.5.2006 (firmware v. 10.03.94). Ich denke da kann sich auch an der API für die uPnP Befehle etwas verändert haben. Gruß, foxx
|
beilster
Anmeldungsdatum: 1. September 2007
Beiträge: 1
|
HI, weiß zufällig jemand, warum im Quellcode von MKay diese Internetseite angegeben ist? "http://schemas.xmlsoap.org/soap/encoding/" hat das irgendwelche sicherheitsrelevanten Auswirkungen? mfg beilster
|