FritzBox/Skripte

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Hinweis:

Dieser Artikel ist zwar unabhängig von der Ubuntu-Version, jedoch funktionieren die gezeigten Befehle nur jeweils nur mit den im Text vermerkten Versionen von Fritz!OS.

Letzter Test mit Fritz!Box 7490 am 09.05.2023.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Ein Terminal öffnen

Inhaltsverzeichnis
  1. Öffentliche IP-Adresse auslesen
  2. Öffentliche IP-Adresse ändern
  3. Links

Über kurze Shellskripte die man in einem Terminal[1] eingibt, lassen sich verschiedene Dinge aus der FRITZ!Box auslesen oder ändern.

Öffentliche IP-Adresse auslesen

Die öffentliche IP-Adresse wird in der Konfigurationsoberfläche des Routers angezeigt und kann von dort ausgelesen werden.

Variante 1

Ein Einzeiler für die FRITZ!Box-Serie von AVM 🇩🇪:

Hinweis:

Diese Methode funktioniert nur, wenn die Oberfläche der FRITZ!Box nicht durch ein Passwort geschützt ist (was sie sein sollte).

wget 'http://fritz.box/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:menu=home&var:pagename=home' -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' | grep -Ev "^0+\." 

Dies funktioniert zumindest mit der FRITZ!Box Fon WLAN 7050 mit aktueller Firmware, sollte aber auch mit anderen Modellen funktionieren.

Variante 2

Mit UPnP kann man sich die externe IP-Adresse der FRITZ!Box auch anzeigen lassen, wenn die Weboberfläche passwortgeschützt ist. Um dieses Skript ausführen zu können, muss vorher das Programm cURL installiert werden.

Variante 3 - MyFritz! Service

Unter Internet > Freigaben > Fritz!Box Dienste > Internetzugriff auf die FRITZ!Box über HTTPS aktiviert > Haken setzen. Die Fritz!Box zeigt nun eine Internet-Adresse ähnlich wie beispielsweise 1234567890abcdefgh.myfritz.net (Diese Zeichenfolge ist im Befehl natürlich individuell anzupassen!) an. Die öffentliche IP-Adresse dieser Domain hält die Fritz!Box automatisch aktuell, weshalb wir sie wie folgt auslesen können:

Hinweis: Man muss dafür KEINEN Benutzer unter System > Fritz!Box-Benutzer hinzufügen oder mit dem Recht "Zugang aus dem Internet erlaubt" versehen. Der Zugriff aus dem Internet auf die Fritz!Box Oberfläche bleibt also gesperrt, auch wenn die Loginseite geladen werden kann.

Öffentliche IP-Adresse ändern

Fehlerhafte Anleitung

Diese Anleitung ist fehlerhaft. Wenn du weißt, wie du sie ausbessern kannst, nimm dir bitte die Zeit und bessere sie aus.


Anmerkung: Diese Skripte funktionieren bei FB 7490 mit OS 7.29 nicht mehr.

Mit folgendem Einzeiler kann man die FRITZ!Box (getestet mit Fon WLAN 7050) mittels UPnP dazu bringen, sich neu zu verbinden und man erhält so eine neue externe IP-Adresse:

curl "http://fritz.box:49000/upnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination" -d "<?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>" 

Das Skript oben funktioniert ebenfalls mit der FRITZ!Box 7490 bis zum Firmware Update FRITZ!OS 06.05. Ab dieser Version muss das Skript wie folgt angepasst werden:

curl "http://fritz.box:49000/igdupnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination" -d "<?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>" 

Mit der FRITZ!Box 7490 und Firmware Update FRITZ!OS 06.83(oder früher) ist eine Passworteingabe nötig. Das Skript muss wie folgt angepasst werden, wobei in dem Skript das eigene Fritzbox-Passwort eingetragen werden muss:

wget -q --user='' --password='HierEigenesPasswortEintragen' "http://fritz.box:49000/upnp/control/wanipconnection1" --header='Content-Type: text/xml; charset="utf-8"' --header='SoapAction: urn:dslforum-org:service:WANIPConnection:1#ForceTermination' --post-data='<?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:dslforum-org:service:WANIPConnection:1" /> </s:Body> </s:Envelope>'