[[Vorlage(Getestet, general ) ]] {{{#!vorlage 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. }}} {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] Ü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 [https://avm.de/produkte/fritzbox/ FRITZ!Box-Serie von AVM] {de}: {{{#!vorlage Hinweis Diese Methode funktioniert nur, wenn die Oberfläche der FRITZ!Box nicht durch ein Passwort geschützt ist (was sie sein sollte). }}} {{{#!vorlage Befehl 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 [wikipedia:Universal_Plug_and_Play: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. * Dieser Einzeiler wurde mit der FRITZ!Box Fon WLAN 7050 und FRITZ!Box WLAN 3131 getestet. Das Skript funktioniert ebenfalls mit der FRITZ!Box 7490 bis vor einem Firmware Update auf FRITZ!OS 06.05; mit dieser Version aber nicht mehr: \\ {{{#!vorlage Befehl 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#GetExternalIPAddress" -d " " -s | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' }}} * Ab FRITZ!OS 06.05 funktioniert (getestet mit FRITZ!Box 7490) diese Variante: \\ {{{#!vorlage Befehl 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#GetExternalIPAddress" -d " " -s | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' }}} * Alternativ zu vorstehender Version kann auch [:wget:] verwendet werden; mit einer FRITZ!Box 7490 getestet: \\ {{{#!vorlage Befehl wget -qO- "http://fritz.box:49000/igdupnp/control/WANIPConn1" --header "Content-Type: text/xml; charset="utf-8"" --header "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" --post-data=" " | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' }}} == 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: * IPv4:\\ {{{#!vorlage Befehl dig 1234567890abcdefgh.myfritz.net A +short # '1234567890abcdefgh.myfritz.net' anpassen! }}} * IPv6:\\ {{{#!vorlage Befehl dig 1234567890abcdefgh.myfritz.net AAAA +short # '1234567890abcdefgh.myfritz.net' anpassen! }}} 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 = [[Vorlage(Fehlerhaft, "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 [wikipedia:Universal_Plug_and_Play:UPnP] dazu bringen, sich neu zu verbinden und man erhält so eine neue externe IP-Adresse: {{{#!vorlage Befehl 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 " " }}} 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: {{{#!vorlage Befehl 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 " " }}} 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: {{{#!vorlage Befehl 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=' ' }}} = Links = * [:FritzBox:] {Übersicht} - Weitere Artikel zur FritzBox * [:Shell:] {Übersicht} - Übersicht zur Shell * [:Skripte:] {Übersicht} - Weitere Skripte ohne Bezug zur FritzBox #tag: Shell, FritzBox