Heimnetz & LAN

Fritzbox per Kommandozeile steuern – so geht's

01.05.2022
Von 
Mehr über Hermann Apfelböck erfahren Sie unter http://apfelböck.de.
Wie lautet gleich wieder das Kennwort für das Gast-WLAN? Mit wem hat meine Frau gestern so lange telefoniert? Router wie die Fritzbox verwalten so viele Infos, geben sie aber nur her, wenn man sich durch die Konfigurationsoberfläche klickt. Oder?
Wer häufig automatisierte Skripts bzw. Cronjobs einsetzt, findet mit den "fb_tools" den perfekten Helfer zur Steuerung der Fritzbox.
Wer häufig automatisierte Skripts bzw. Cronjobs einsetzt, findet mit den "fb_tools" den perfekten Helfer zur Steuerung der Fritzbox.
Foto: Teerasan Phutthigorn - shutterstock.com

Gut Informierte wissen wahrscheinlich, dass sich die Fritzbox-Konfiguration durch PHP-Scripts auslesen und in vielen Belangen sogar steuern lässt. Theoretisch genügen dafür relativ komplizierte Befehle der Download- und Uploadtools wget und curl. Komfortabler ist das Paket miniupnpc mit seinem Programm upnpc - dies allerdings mit eng begrenzter Reichweite. Das aktuell wohl umfangreichste PHP-Projekt zur Fritzbox-Steuerung ist die Sammlung fb_tools (Fritzbox-Tools) von Michael Engelke. Was man damit alles anstellen kann, zeigt dieser Beitrag.

Definition und Umfang

Die Fritzbox-Tools sind eine umfangreiche Sammlung von PHP-Scripts, die über Terminalbefehle ausgelöst werden. Je nach Befehl kann man Informationen aus der Fritzbox auslesen, Konfigurationsbackups anlegen und wieder zurückschreiben und viele Einzelfunktionen von außen starten, so etwa Smarthome-Aktoren von AVM oder die LED-Anzeige der Fritzbox.

Um Missverständnissen vorzubeugen: Die Fritzbox-Tools können - mit einigen wenigen Ausnahmen - nicht mehr als das, was ein zutrittsberechtigter Fritzbox-Nutzer im Normalfall auf der Konfigurationsoberfläche erledigt. Ihre Reichweite ist sogar begrenzter als die Fritzbox-Oberfläche, weil AVM nicht alle Funktionen für PHP-Scripting offenlegt (so offenbar der gesamte Bereich WLAN/Funknetz). Der entscheidende Vorteil der Fritzbox-Tools ist es, dass Informationen wie die öffentliche IP-Adresse, die aktuelle Anrufliste oder der Onlinezähler mit einem vorbereiteten Terminalbefehl in zwei Sekunden ausgelesen sind. Und mehr noch: Als Terminalbefehl lassen sich solche Aktionen auch automatisch erledigen, etwa als Cronjob oder Autostart auf einem beliebigen Linux-System im Netzwerk.

Einfache Installation auf Debian/ Ubuntu

Die Fritzbox-Tools laufen im Prinzip auf jedem Betriebssystem. Weil aber PHP installiert sein muss, ist die Einrichtung auf Linux am einfachsten. Auf jedem updategepflegten Linux wird eine PHP-Version 7.x für die Konsole ("cli") nämlich bereits vorliegen. Außerdem gibt es mindestens eine interessante Funktion der Tools, die Open SSL benötigt - und auch dies ist Standard unter Linux. Für Debian/Ubuntu-basierte Distributionen genügt daher der Download des winzigen DEB-Pakets "fb-tools.deb" von www.mengelke.de/Projekte/FritzBox-Tools (nur 90 KB) und die Installation per Doppelklick oder im Terminal:

sudo dpkg -i fb-tools.deb

Für Linux-affine Windows-Nutzer ist genau derselbe Weg zu empfehlen, sofern sie ein Debian oder Ubuntu im "Windows Subsystem für Linux" (WSL) verwenden. Dies ist wesentlich einfacher, als der Anleitung für die Installation unter Windows zu folgen.

Erste Umschau: Auf den typischen Hilfeschalter "-h"

fb_tools -h

meldet die Toolsammlung die verfügbaren Hauptbefehle (Modes). Einige dieser Befehle besitzen wieder diverse Unterbefehle (Funktionen), wovon Sie sich mit

fb_tools konfig -h

fb_tools smarthome -h

überzeugen können. Es gibt nun einige einfache Modes (ohne Unterbefehle), die ohne jede Benutzerauthentifizierung sofort Antworten liefern:

fb_tools boxinfo

fb_tools systemstatus

Damit erhalten Sie die Basisdaten über Modell, Hardwarerevision, Provider, Laufzeit, Neustarts. Ebenfalls selbsterklärend ist die Abfrage der öffentlichen IP-Adresse:

fb_tools getip

Bei anderen Modes wie "traffic, anrufliste, led, konfig, smarthome" werden Sie hingegen keinen Erfolg haben. Das Tool meldet dann "Anmeldung fehlgeschlagen, SID.lua ist ungültig". Das bedeutet, dass Sie sich für diese Modes und Funktionen an der Fritzbox anmelden müssen.

Fritzbox-Abfragen: Der Einblick in das Systemprotokoll und die Trafficstatistik („Online-Zähler“) gehört zu einfacheren Kommandos der Fritzbox-Tools.
Fritzbox-Abfragen: Der Einblick in das Systemprotokoll und die Trafficstatistik („Online-Zähler“) gehört zu einfacheren Kommandos der Fritzbox-Tools.

Anmeldung und Fritzbox-Einstellung

Alle wirklich interessanten Funktionen setzen eine Anmeldung voraus. Die verläuft aber denkbar einfach innerhalb des Kommandos:

fb_tools Geh3im@fritz.box anrufliste

Dies genügt, falls der Router nur durch ein allgemeines Passwort geschützt ist. Wenn Sie in der Fritzbox Benutzerkonten angelegt haben, benötigen Sie folgende Syntax

fb_tools sepp:Geh3im@fritz.box anrufliste

mit der Abfolge "[Konto:Kennwort@Gerät]". Und noch ein akademisches Detail: Wer sich in mehreren Netzen befindet, muss den angesprochenen Router statt mit "fritz.box" genau adressieren (was aber auch sonst nie schadet):

fb_tools sepp:Geh3im@192.168.178.1 anrufliste

Mit dieser Syntax und somit korrekter Anmeldung sind aber auf jüngeren Fritzboxen immer noch nicht sämtliche Funktionen realisierbar. Die Lösung dafür liegt in der Fritzbox-Konfiguration unter "System -› Fritz!Box-Benutzer -› Zusätzliche Bestätigung -› Ausführung bestimmter Einstellungen und Funktionen zusätzlich bestätigen". Die Option ist standardmäßig aktiviert und verhindert einige Kommandos der Fritzbox-Tools.

Es ist Ermessensfrage, ob man dies dauerhaft abschalten will. Zumindest vorübergehend ist das nötig, um einen der interessantesten Befehle abzusetzen:

fb_tools sepp:Geh3im@192.168.178.1 konfig export-decrypt

Dieses Kommando liest im Klartext sämtliche Verbindungsdaten aus, unter anderem Provider-Zugangsdaten, WLAN-Passwörter, Telefoniepasswörter, Internet- und Myfritz-Onlinezugangsdaten. Diese Daten sind in dieser Form und Vollständigkeit weder über die Fritzbox-Oberfläche noch in der (verschlüsselten) Konfigurationssicherung erreichbar.

Etliche Funktionen sind trotz korrekter Anmeldung mit den Fritzbox- Tools nicht erreichbar. Verursacher ist diese Einstellung in der Fritzbox- Konfiguration.
Etliche Funktionen sind trotz korrekter Anmeldung mit den Fritzbox- Tools nicht erreichbar. Verursacher ist diese Einstellung in der Fritzbox- Konfiguration.

Weitere Beispiele

Mit dem Mode "konfig" können Sie interaktiv oder automatisiert Konfgurationssicherungen des Routers ausführen:

fb_tools sepp:Geh3im@192.168.178.1 konfig export fritz.export

Mit "konfig import" lässt sich eine Sicherung später wieder zurückspeichern. Der einfache Mode "traffic" hat keine Unterfunktionen und spuckt nach

fb_tools […] traffic

die Zusammenfassung aus, die in der Konfigurationsoberfläche unter "Internet -›Online-Monitor -› Online-Zähler" zu finden ist. Der Mode "Ereignisse" bietet das Systemprotokoll ("System -› Ereignisse") und hat dabei genau dieselben optionalen Filter wie die Oberfläche:

fb_tools […] ereignisse filter:system

Einfache, aber mindestens im zweiten Fall interessante Aktionen lösen folgende Kommandos aus:

fb_tools […] led off

fb_tools […] reconnect

Die LED-Leuchten lassen sich mit "on" jederzeit wieder aktivieren. Das unkomplizierte "reconnect" darf als weiteres Highlight der Toolsammlung gelten, weil die Fritzbox-Oberfläche diese Option unter "Internet -› Online-Monitor -› Neu verbinden" gut versteckt. Dass ein "reconnect" die Fritzbox tatsächlich in Sekunden neu verbindet, können Sie anschließend dem Systemprotokoll entnehmen (unter "System -› Ereignisse" oder mit dem "ereignisse"-Kommando der fb_tools).

Besonders ergiebig ist der Mode "SmartHome", der mit

fb_tools sepp:Geh3im@192.168.178.1 smarthome list

alle Smarthome-Komponenten ("Aktoren") mit AIN-Kennziffer anzeigt (AIN=Aktor Identifikationsnummer). Einschränkend ist zu bemerken, dass solche Steuerung eine homogene und ausschließliche Nutzung von AVM-Produkten voraussetzt. Da der Verfasser solche Funksteckdosen und Sensoren nicht nutzt, vertrauen wir an dieser Stelle auf Aussagen des Toolentwicklers und von Kommentaren im Web.

Auf Basis der mit "smarthome list" ermittelten Gerätekennungen lässt sich die betreffende Hardware dann detailliert steuern: Ein AVM-Thermostat mit der AIN "18" kann dann etwa mit folgendem Befehl

fb_tools […] smarthome set 18 20

auf exakt 20 Grad gesetzt werden oder mit

fb_tools […] smarthome set 18 spar

auf eine in der Fritzbox (unter "Smart Home -› Geräteverwaltung") hinterlegte Spartemperatur.

(PC-Welt)