FritzBox neue IP mit Reconnect Batch Script?

4 Antworten

Datei d.xml:

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

Datei neuverbinden.bat (im gleichen Verzeichnis, alles nach curl in eine Zeile!):

@echo off
curl -s "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 "@d.xml"

In der Fritzbox muss unter Internet -> Freigaben für den Rechner die selbstständige Portfreigabe aktiviert sein, damit das Neuverbinden per UPNP (was dieses Script nutzt) klappt.

Frei nach https://daschmi.de/reconnect-mit-curl-und-shell-script/

Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin

Ob es so etwas als Batch-Datei gibt, weiß ich nicht. Ich kann Dir einen Ansatz als Bash-Script bieten, das Du ggf. umschreiben und komplettieren kannst:

#!/bin/bash
_BOXURL="https://fritz.box"
_USERNAME="Benutzername"
_PASSWORD="Passwort"
_CHALLENGE=$(curl -4 -s -k ${_BOXURL}/login.lua | grep "^g_challenge" | awk -F '"' '{ print $2 }')
_MD5=$(echo -n ${_CHALLENGE}"-"${_PASSWORD} | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}')
_RESPONSE="${_CHALLENGE}-${_MD5}"
_SID=$(curl -4 -i -s -k -d 'response='${_RESPONSE} -d 'page=' -d 'username='${_USERNAME} ${_BOXURL}/login.lua | grep "Location:" | awk -F'=' {' print $NF '});
curl -4 -s -k "${_BOXURL}/internet/inetstat_monitor.lua?"' -d 'sid='${_SID}

Ohne es getestet zu haben, sollte hier jetzt die Seite aufgerufen sein, die den "Neu verbinden"-Button enthält. Den musst Du nur noch triggern:

<input type="button" id="uiReconnectBtn" onclick="return DoDisconnectInternet();" value="Neu verbinden" >

Schreib dir doch so ein Skript

  • Login beim Web-Frontend
  • Post Request um die Aktion des Buttons auszulösen/nachzuahmen

Bei dem Post musst Du sicherlich eine Session mitschicken, die Du durch die Anmeldung am Web-Frontend erhalten hast.

Gruß


ThomasStruk 
Beitragsersteller
 18.09.2020, 17:47

Ja nur leider hab ich wenig ahnung vom Coding. Sonst hätte ichs selber geschrieben

0
AldoradoXYZ  18.09.2020, 17:49
@ThomasStruk

Es ist nur ein batch script.

Zeit etwas zu lernen. Google hilft dir :)

Gruß

0

Gab es früher mal ... funktionieren meines Wissens nach aber alle nicht mehr.

Wirst also den Button in der FritzBox klicken müssen, oder dir z.B. BoxToGo auf dem Smartphone installieren, und dann darüber die Box neu verbinden.


AldoradoXYZ  18.09.2020, 17:45

Was immer Du im Browser machst kannst Du auch per Skript automatisieren.

Das können sie einfach nicht verhindern.

Gruß

1