Gastzugang über Script ein- und ausschalten

big_zlatan

Neuer User
Mitglied seit
29 Jan 2021
Beiträge
40
Punkte für Reaktionen
1
Punkte
8
Hallo,

ich kann von meinem Linux-Rechner aus mit einem einfachen Script ein Reconnect der Internetverbindung durchführen. Dazu muss ich mich nicht über das Webinterface einloggen. Bei mir (für die FritzBox 7490) sieht das so aus:

Code:
netcat -w 1 192.168.10.1 49000 <<EOF
POST /igdupnp/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: 288

<?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>
EOF

Kann ich sowas auch verwenden um den Gastzugang ein- und auszuschalten? Also einfach Script ausführen ohne Login am Webinterface? Würde das gern für eine Fritzbox 7490 und 7272 einrichten.
 
Ja, ich meine, ich hätte das mal gesehen. Hier findest du die Doku zu den AVM Schnittstellen:

Da gibt es ein Dokument zur WLAN Konfiguration. Das vorhandene Script lässt sich dann vermutlich leicht anpassen.
 
Ich mache es mit einem Script das auf der FB läuft und ich über das Snom starte:
Code:
ctlmgr_ctl w wlan settings/guest_ap_enabled 1
 
Wie bekommt man ein script auf die fritzbox? Hast du freetz oder das normale fritzOS?
 
Nur als Einwurf: Für die FRITZ!Box 7490 (Dank FRITZ!OS 7.25 und neuer) geht das auch über
a) die App FRITZ!App WLAN
b) den Taster FRITZ!DECT 440.​
 
  • Like
Reaktionen: dieguteFrauWaas
Mein FritzFon kann es auch aktivieren.
 
Auf der von 'frank_m24' verlinkten Seite gibt es eine PDF für 'WLANConfiguration'. Darin macht einzig dieser Punkt Sinn


mit den möglichen values

Nur wie bringe ich das in dem Skript unter? Da wird nicht einfach nur ein Kommando an die Fritzbox abgesetzt.
 
Du brauchst die Funktion SetEnable für das korrekte WLAN-Interface, analog zu der Aktion in diesem Thread (auch wenn es da um das Aktivieren von WPS für das Gastnetz ging, das ist am Ende nur eine andere Funktion): https://www.ip-phone-forum.de/threads/gastzugang-wps-ohne-webui-aktivieren.300273/ - je nach Modell (und u.U. auch je nach aktivierten WLAN-Netzen, ich weiß nicht, ob die Indizes durchnummeriert werden oder fest zugewiesen sind - muß man halt probieren) ist das bei einer 7490 vermutlich die "dritte Konfiguration" (s. Intro in der AVM-Beschreibung - noch vor der "History" im PDF).
 
Sorry, ich verseh' hier kein Wort. Das oben von mir gepostete Script geht erstmal, auch wenn ich nicht verstehe was genau gemacht wird. Mit Shell-Scripten unter LInux komme ich klar, das was hier gemacht wird übersteigt meine Fähigkeiten. Das in dem von dir verlinkten Beitrag gepostete sieht komplett anders aus. Ich habe keinen Plan was ich an welcher Stelle anpassen soll und wie ich welches Script ausführen soll. PHP ist soweit ich weiß eine Sprache für zur Erstellung von Internetseiten, hier soll ja aber ein Kommando an die Fritzbox geschickt werden.

Diese https://avm.de/service/schnittstellen/ "Anleitung" wirkt irgendwie unvollständig. Da werden mögliche Kommandos (oder wie auch immer man das hier bezeichnet) beschrieben oder erklärt zu werden wie man diese an die Fritzbox schickt. Das ist der 2. Schritt ohne den 1. zu erklären.

Man scheint in dem PHP-Script auch Benutzername und Passwort eingeben zu müssen, das muss ich beim Reconnect nicht.
 
Du hast nun mal nur die Option, Dich irgendwie in die Benutzung der TR-064-Schnittstellen einzuarbeiten und wenn Du das nicht kannst/willst, wird Dein Vorhaben (in dieser Form jedenfalls definitiv) scheitern.

Das von Dir in #1 gezeigte Shell-Skript benutzt die IGD1-Schnittstelle (bzw. IGD2: https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/IGD2.pdf) und für die ist (unsinnigerweise) keine Authentifizierung vorgeschrieben (was am Ende dazu führt, daß irgendein "böses" Gerät auf der Client-Seite mehr oder weniger problemlos eine DoS-Attacke gegen die WAN-Verbindung ausführen kann). Auf dieser Schnittstelle gibt es aber keine Funktion, mit der man ein WLAN ein- oder ausschalten könnte.

Das gibt es zwar auch, aber eben nur über die TR-064-Schnittstelle (IGD- und TR-064-Interface sind sich allerdings sehr ähnlich - beide basieren auf dem SOAP-Standard) und auch da nur MIT Authentifizierung.

Du machst also entweder Abstriche bei Deinen Ansprüchen und fügst eigene (erkennbare) Bemühungen hinzu, das Ganze auch zu verstehen (das kannst Du ja damit beginnen, was Dein Schnipsel in #1 tatsächlich macht) oder Du wirst Dein Ziel vermutlich nicht erreichen. Eine "Entsprechung" zum ForceTermination in den IGD-Spezifikationen, mit denen man auch nur irgendein WLAN in den FRITZ!Boxen ein- oder ausschalten könnte, gibt es dort jedenfalls nicht. Period.
 
....Oder auf einem Raspi oder sowas ein FHEM-Server laufen lassen und dort das Fritzbox und Callmonitor Modul einbinden. Damit kann man dann remote über einfache Perl if then else sagen was an der Fritzbox passieren soll und man sieht auch sehr viele StatusInfos der Box.
Dann spart man sich die einarbeitung in TR064, weil das schon der Modulentwickler gemacht hat und man braucht für sowas seine FB nicht modden.

Ryker
 
und man braucht für sowas seine FB nicht modden.
Das braucht man für die Nutzung des (dokumentierten) TR-064-Interfaces aber auch nicht.

Das Ganze dann mit weiterer Technik "zu erschlagen", ist natürlich auch eine denkbare Lösung (bis hin zum Touchscreen an der Wand, wo man das über ein Icon triggert), hat aber mit der in #1 zum Ausdruck gebrauchten Intention noch weniger zu tun, als die Benutzung des TR-064-Interfaces anstelle des IGD-Interfaces.
 
Du hast nun mal nur die Option, Dich irgendwie in die Benutzung der TR-064-Schnittstellen einzuarbeiten und wenn Du das nicht kannst/willst, wird Dein Vorhaben (in dieser Form jedenfalls definitiv) scheitern.

Ich habe kein Problem mich da einzulesen, nur habe ich dazu nichts gefunden. Alles was hier gesagt und verlinkt ist, ist der "2. Schritt" (also welche Sachen ich genau auslesen kann oder welche Sachen ich schalten kann). Es gibt nirgendwo eine Erklärung der TR-064-Basics: Wie wird grds. ein Kommando an die Fritzbox geschickt.

Für ein beliebiges Shell-Script was das z. B.

Code:
application <options> <parameter> <file>

Das erklärt die "Grubndstruktur" eine Befehlt. Welche <options> und <parameter> dann was machen und welche in Kombi Sinn ergeben wäre der nächste Schritt. Für TR-064 gibt es nur Erklärung zu diesem "nächsten Schritt".
 
Nein, die gibt es auch für den ersten Schritt. Grundsätzlich hast du ja selber ein Beispiel im ersten Beitrag gepostet. Es finden sich weitere Beispiele im Internet, bis hin zu kompletten Bibliotheken, die den Zugriff abstrahieren. Dann ein paar ergänzende Infos, und es kann losgehen:
Letzteres sogar mit Code Beispielen. Ich hab mir damit ein paar Munin Plugins gebaut, die wichtige Parameter meiner Fritzbox abrufen.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.