ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Skripte

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Ü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

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

Hinweis:

Ist die Oberfläche der FRITZ!Box durch ein Passwort geschützt (was sie sein sollte), funktioniert Variante 1 nicht mehr. Dann muss man Variante 2 verwenden.

Variante 1

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

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.

1
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 "<?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:GetExternalIPAddress xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" /> </s:Body> </s:Envelope>" -s | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'

Auch dieser Einzeiler wurde mit der FRITZ!Box Fon WLAN 7050 und FRITZ!Box WLAN 3131 getestet.

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:

1
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 "<?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:GetExternalIPAddress xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body> </s:Envelope>" -s | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'

Mit wget mit einer FRITZ!Box 7490 getestet:

1
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="<?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:GetExternalIPAddress xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body> </s:Envelope>"  | 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 im Format 1234567890abcdefgh.myfritz.net an. Die öffentliche IP-Adresse dieser Domain hält die Fritz!Box automatisch aktuell, weshalb wir sie wie folgt auslesen können:

IPv4:

1
dig 1234567890abcdefgh.myfritz.net A +short

IPv6:

1
dig 1234567890abcdefgh.myfritz.net AAAA +short

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

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:

1
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:

1
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:

1
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>'

  • FritzBox - Weitere Artikel zur FritzBox

  • Shell - Übersicht zur Shell

  • Skripte - Weitere Skripte ohne Bezug zur FritzBox

Diese Revision wurde am 26. November 2022 14:13 von mgutt erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: FritzBox, Shell