Periodisches Auslesen der Modemwerte FB6490

In diesem Forum dreht sich alles um die bei Vodafone Kabel Deutschland bzw. Vodafone West oder im Rahmen der O2-Tarife über Kabel verwendeten AVM-Produkte, insbesondere der WLAN-Router mit integriertem Kabelmodem, der als FRITZ!Box vertrieben wird. Speedprobleme bitten wir im entsprechenden Forum zu behandeln, wenn ihr Ursprung nicht auf AVM-Produkte zurückzuführen ist!
Forumsregeln
Forenregeln


Bitte gib bei der Erstellung eines Threads im Feld „Präfix“ an, ob du Kunde von Vodafone Kabel Deutschland („[VFKD]“), von Vodafone West („[VF West]“) oder von O2 über Kabel („[O2]“) bist.
Außerdem gib bitte an, ob es sich bei deiner FRITZ!Box um eine Leihbox von Vodafone („[Leihbox]“) oder eine Kaufbox („[Kaufbox]“) handelt.
Antworten
Toni8767
Newbie
Beiträge: 7
Registriert: 01.06.2013, 14:33

Periodisches Auslesen der Modemwerte FB6490

Beitrag von Toni8767 »

Hallo zusammen,

gibt es eventuell eine Möglichkeit (Tool, etc.) um die Modemwerte der Fritzbox 6490 (Vodafone) periodisch (bspw. alle 10 min.) auszulesen und in einer Textdatei zu speichern ?

Hintergrund:
Habe das Problem, dass ich wohl einen sporadischen Rückkanalstörer habe. Meine Modulationen in Senderichtung schwanken sporadisch (alle 2 Wochen ca.) zwischen QPSK und QAM64 auf allen 4 Kanälen. Teilweise fallen auch 2 Kanäle einfach weg. Vodafone bekommt zwar jedesmal eine Störung von mir gemeldet, aber wirklich weg ist der Fehler nicht. Da das ganze auch in die Telefonie haut, möchte ich einfach mal ein kleines Log über die Modemwerte / Modulationen der Kanäle in Senderichtung führen um zu sehen was den Tag über passiert. Und das ganze dann mit Hilfe von Excel, etc. optisch aufbereiten. Manuell ist das halt sehr aufwendig :lol:

Vielen Dank im voraus.

Gruß

Der Toni
nholland
Newbie
Beiträge: 18
Registriert: 20.09.2014, 14:12

Re: Periodisches Auslesen der Modemwerte FB6490

Beitrag von nholland »

Kannst Du mit curl und ein paar anderen Tools unter Linux o.ä. recht einfach machen. Für eine grundsäzliche Anleitung schaust Du hier.

Basierend darauf hab ich mir beispielsweise das folgende Skript fertig gemacht:

Code: Alles auswählen

#!/bin/bash
_PASSWORD="DeinBoxKennwort"
_REQUESTPAGE="/internet/docsis_info.lua"
_BOXURL="http://fritz.box"
_USERNAME=""
_CHALLENGE=$(curl -s "${_BOXURL}/login_sid.lua?username=${_USERNAME}" | grep -Po '(?<=<Challenge>).*(?=</Challenge>)')
_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 -i -s -k -d "response=${_RESPONSE}&username=${_USERNAME}" "${_BOXURL}" | grep -Po -m 1 '(?<=sid=)[a-f\d]+')
curl -s "${_BOXURL}${_REQUESTPAGE}" -d "sid=${_SID}"
Wenn man das ausführt bekommt man im wesentlichen die HTML-Table zurück, die auf der entsprechenden Seite des Webinterfaces die Modemwerte anzeigt. Will man die Daten einfach nur archivieren, kann man wahrscheinlich diesen Output schon einfach als Datei abspeichern und das alles regelmäßig wiederholen. Man kann es aber auch sicherlich noch weiter verarbeiten und dann einer weiteren Auswertung zuführen - ich selber will die Tage mal zusehen, dass ich ein Munin-Plugin schreibe, dass die auf diese Art und Weise erhaltene Daten verarbeitet.

Eine Sache, die ich mich noch frage, ist, wie man mit der Session umgehen soll ... jeder Aufruf des Skripts macht wohl eine neue Session auf. Die könnte man am Ende auch wieder abmelden, indem man die Zeile

Code: Alles auswählen

curl -s "${_BOXURL}/index.lua" -d "sid=${_SID}" -d "logout=1"
Am Ende hinzufügt. Aber dann hätte man bei jeder Abfrage den Workflow Anmelden / Abrufen / Abmelden. Zweckmäßiger dürfte sein, sich einmal anzumelden und dann immer wieder mit der gleichen Session-ID abzufragen (und ggf. ganz am Ende erst irgendwann die Session abzumelden, oder sie austimen lassen). Fraglich ist nur, ob eine einmal angemeldete Session (zumindest bei regelmäßiger Nutzung) dauerhaft aktiv bleibt oder aber irgendwann abläuft. In diesem Fall mag es dann doch einfacher sein, anstatt sich damit herumzuschlagen, für jede Abfrage eine neue Session anzumelden und direkt danach wieder abzumelden. Aber das alles ließe sich mit etwas Geduld sicherlich weiter testen - der grundlegende Weg dazu ist oben auf jeden Fall aufgezeigt.
Antworten