Router Control mit FritzBox! Fon WLAN

Fragen, Tipps & Tricks zu Freeware-Programmen 0190 Warner, Alle meine Passworte, SuperSpamKiller Standard usw.

Moderatoren: Ralf, mirko

CCS
Beiträge: 43
Registriert: 01.01.2005, 14:28

Beitrag von CCS »

Ich habe jetzt mal eine Router.dat für die \"Fritz!Box Fon WLAN (ver. 08.03.29)\" gebastelt.

Dafür fehlen mir eigentlich noch folgende Funktionen und Anzeigen:
a) Internetverbindung trennen und aufbauen
b) ist WLAN aktiv ?
c) WLAN ein- und ausschalten
d) Volumen-Verbrauchsdaten komprimiert anzeigen: Dabei bekomme ich bisher immer nur z.B.:
Gesendet Gestern: xxx Byte
Empfangen Gestern: yyy Byte
Auf der Übersichtsseite der Fritz!Box steht allerdings die Gesamttransferrate (also xxx + yyy) und dann noch umgerechnet in MB. Dieses Ergebnis wird allerdings aus den Einzelwerten per JavaSrcipt errechnet und läßt sich nicht per RouterControl anzeigen.
Ebenso die Online-Zeit: Sie wird nur in Sekunden zur Verfügung gestellt. Aber was bedeutet \"600.000 Sekunden Onlinezeit im letzten Monat\" ? Für die Übersichtsseite wird der Wert in Stunden und Minuten umgerechnet.

Ich habe ca. 60 HTML-Seiten in der Fritz!Box gefunden - hier mal einige interessante:
http://fritz.box/cgi-bin/webcm?getpage= ... calls.html /html/fon/foncalls.html
http://fritz.box/cgi-bin/webcm?getpage= ... /bits.html /html/internet/bits.html
http://fritz.box/cgi-bin/webcm?getpage= ... rview.html /html/internet/overview.html
http://fritz.box/cgi-bin/webcm?getpage= ... yslog.html /html/system/ppSyslog.html
http://fritz.box/cgi-bin/webcm?getpage= ... tstat.html /html/inetstat.html

Kann mir jemand helfen, die fehlenden Funktionen und Daten zu finden ?
Zuletzt geändert von CCS am 08.02.2005, 11:03, insgesamt 1-mal geändert.
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Ich merke es mir mal vor aber sofort wird es nicht sein, muss mich erstmal um andere Programme kümmern.
CCS
Beiträge: 43
Registriert: 01.01.2005, 14:28

Beitrag von CCS »

Original von Mirko: hee? Wozu brauchst du denn den 06.02. ? Also alles muss man nun nicht unbedingt anzeigen lassen.
Nun, ich finde es schon interessant - zumal das Datum und die Uhrzeit auch den letzten Login anzeigt.
Original von Mirko: Oder ist die Angabe <p>06.02.05 11:51:57 Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: x.x.x.x, DNS-Server: 217.237.151.97 und 217.237.150.33, Gateway: 217.5.98.170</p> immer die einzige?
Nein, leider nicht. Ich weiß zwar nicht, wie lang diese Log-Datei werden kann (beim stromlos machen des Routers ist sie wieder komplett leer), aber die Meldung \"Internetverbindung wurde erfolgreich hergestellt\" kann mehrfach auftauchen.

Ich glaube, daß so eine Funktion {lastpos} auch für viele andere Router interessant wäre. Beispiel DHCP-Server: Viele Router listen in einer Logdatei die vergebenen IP-Adressen auf. Da wäre es schon interessant zu sehen, wer als letzter welche IP-Adresse vom Router zugeteilt bekommen hat. Alleine schon aus Sicherheitsgründen - um zu sehen, ob sich da ein fremder WLAN-Client angemeldet hat.
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

hee? Wozu brauchst du denn den 06.02. ? Also alles muss man nun nicht unbedingt anzeigen lassen.
CCS
Beiträge: 43
Registriert: 01.01.2005, 14:28

Beitrag von CCS »

Original von Mirko: Oder ist die Angabe <p>06.02.05 11:51:57 Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: x.x.x.x, DNS-Server: 217.237.151.97 und 217.237.150.33, Gateway: 217.5.98.170</p> immer die einzige? Dann könntest du mit {startpos=Internetverbindung wurde erfolgreich hergestellt. IP-Adresse:} arbeiten.
Aber dann bekomme ich doch nur x.x.x.x, DNS-Server: 217.237.151.97 und 217.237.150.33, Gateway: 217.5.98.170 und nicht 06.02.05 11:51:57 ...
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Original von CCS:
Original von Mirko: Das was du von mir möchtest geht alles nicht. Die Sache mit {startpos=} geht nur mit festen Zeichenketten, die sich NIE ändern.
Sch ... ade ...

Aber dann verstehe ich den Sinn von {startpos=} nicht und auch nicht dein Beispiel in der Anleitung:
Beispiel:
Original HTML-Code:
<br>WAN Status<p>IP Adresse</p>
Geben Sie {startpos=<p>IPAdresse}</p> an, damit RouterControl zuerst den HTML-Code \'<br>WAN Status\' wegschneidet und danach den Tag </p> sucht.
Ein {startpos=<p>IPAdresse}</p> würde dann doch den (festen) Text \"IPAdresse\" ausgeben - wozu braucht man das ?

Das ist doch nur ein Beispiel, das zeigen soll, es wird nach \"<p>IPAdresse\" gesucht, der HTML-Code davor weggeschnitten = vergessen und danach wird weitergesucht. Das kann man z.B. Anstelle von {Zahl} verwenden, wenn man nicht zählen will oder kann. :)
Ja und {letzer} geht sowieso nicht, wie soll denn das Programm wissen, was du mit letzter meinst. Du als Mensch siehst natürlich den letzten Eintrag ...
Selbst als Mensch hat man da manchmal so seine Probleme: Da sagt mir doch jemand als Wegbeschreibung: \"Vor der letzten Tankstelle mußt du links abbiegen ...\". Also muß ich erst an der Tankstelle vorbeifahren - ein ganzes Stück - um dann festzustellen: \"na ja, vorhin die Tankstelle wird wohl die letzte gewesen sein ...\" - dann wieder zurück ...
:totlach:
aber der Computer ist doch doof und sieht keine Logik in den ganzen Buchstaben und Zahlen.
Sooo doof sind Computer ja auch nicht. Sollte doch kein großes Problem sein. Genauso wie der Computer mitzählen kann ({1}, {2}, {3}, usw.) sollte er sich doch auch den letzten merken können. Einfach jede Fundstelle speichern (ohne zu zählen) und wenn er am Ende der Datei angelangt ist einfach die letzte gespeicherte verwenden.
Mhh na OK, wenn man <p> als eindeutiges Merkmal nimmt, dann könnte man ein {lastpos} reinbasteln, alternativ auch noch ein {lastpos-1} usw.. :)

Oder ist die Angabe <p>06.02.05 11:51:57 Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: x.x.x.x, DNS-Server: 217.237.151.97 und 217.237.150.33, Gateway: 217.5.98.170</p> immer die einzige? Dann könntest du mit {startpos=Internetverbindung wurde erfolgreich hergestellt. IP-Adresse:} arbeiten.
Zuletzt geändert von mirko am 06.02.2005, 22:04, insgesamt 1-mal geändert.
CCS
Beiträge: 43
Registriert: 01.01.2005, 14:28

Beitrag von CCS »

Original von Mirko: Das was du von mir möchtest geht alles nicht. Die Sache mit {startpos=} geht nur mit festen Zeichenketten, die sich NIE ändern.
Sch ... ade ...

Aber dann verstehe ich den Sinn von {startpos=} nicht und auch nicht dein Beispiel in der Anleitung:
Beispiel:
Original HTML-Code:
<br>WAN Status<p>IP Adresse</p>
Geben Sie {startpos=<p>IPAdresse}</p> an, damit RouterControl zuerst den HTML-Code \'<br>WAN Status\' wegschneidet und danach den Tag </p> sucht.
Ein {startpos=<p>IPAdresse}</p> würde dann doch den (festen) Text \"IPAdresse\" ausgeben - wozu braucht man das ?
Ja und {letzer} geht sowieso nicht, wie soll denn das Programm wissen, was du mit letzter meinst. Du als Mensch siehst natürlich den letzten Eintrag ...
Selbst als Mensch hat man da manchmal so seine Probleme: Da sagt mir doch jemand als Wegbeschreibung: \"Vor der letzten Tankstelle mußt du links abbiegen ...\". Also muß ich erst an der Tankstelle vorbeifahren - ein ganzes Stück - um dann festzustellen: \"na ja, vorhin die Tankstelle wird wohl die letzte gewesen sein ...\" - dann wieder zurück ...
aber der Computer ist doch doof und sieht keine Logik in den ganzen Buchstaben und Zahlen.
Sooo doof sind Computer ja auch nicht. Sollte doch kein großes Problem sein. Genauso wie der Computer mitzählen kann ({1}, {2}, {3}, usw.) sollte er sich doch auch den letzten merken können. Einfach jede Fundstelle speichern (ohne zu zählen) und wenn er am Ende der Datei angelangt ist einfach die letzte gespeicherte verwenden.
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Das was du von mir möchtest geht alles nicht. Die Sache mit {startpos=} geht nur mit festen Zeichenketten, die sich NIE ändern. Ja und {letzer} geht sowieso nicht, wie soll denn das Programm wissen, was du mit letzter meinst. Du als Mensch siehst natürlich den letzten Eintrag aber der Computer ist doch doof und sieht keine Logik in den ganzen Buchstaben und Zahlen.
CCS
Beiträge: 43
Registriert: 01.01.2005, 14:28

Beitrag von CCS »

Original von Mirko:\"Aufbereiten\" kann man nichts, nur so anzeigen wie es ist.
Sch ....... lecht. Dann geht\'s wohl nicht besser ...

Noch eine Frage:
In der Fritzbox gibt es eine Log-Datei. Der jeweils letzte Eintrag in dieser Log-Datei ist der Interessanteste – er wird aber immer am Ende der Liste eingefügt. Ich komme daher mit den Parametern {1}, {2}, {3}, usw. nicht weiter. Ich bräuchte so etwas wie {letzter}.
Beispiel:
<p>06.02.05 12:44:37 WLAN-Reinitialisierung. Alle WLAN-Stationen werden abgemeldet.</p>
<p>06.02.05 12:39:26 WLAN-Reinitialisierung. Alle WLAN-Stationen werden abgemeldet.</p>
<p>06.02.05 12:37:21 WLAN-Reinitialisierung. Alle WLAN-Stationen werden abgemeldet.</p>
<p>06.02.05 11:51:57 Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: x.x.x.x, DNS-Server: 217.237.151.97 und 217.237.150.33, Gateway: 217.5.98.170</p>
</div>
<div> ….
Hier müsste ich eigentlich nach {letzter}<p> suchen lassen.

Und außerdem: Das in deiner Anleitung beschriebene {startpos=<zeichenkette>} verstehe ich nicht
Beispiel:
Original HTML-Code:
<br>WAN Status<p>IP Adresse</p>
Geben Sie {startpos=<p>IPAdresse}</p> an, damit RouterControl zuerst den HTML-Code \'<br>WAN Status\' wegschneidet und danach den Tag </p> sucht.
Wie wäre das im obigen Beispiel auf \"Gateway: 217.5.98.170</p>\" anzuwenden ? Die Gateway-Adresse kann sich ja ändern - da kann ich ja schlecht {startpos=217.5.98.170}</p> angeben.
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

\"Aufbereiten\" kann man nichts, nur so anzeigen wie es ist.
CCS
Beiträge: 43
Registriert: 01.01.2005, 14:28

Beitrag von CCS »

Original von Mirko:irgendwo muss das JavaScript zum Füllen der Angaben sein, kann auch wieder als externe .js Datei eingebunden sein. In diesem Fall die externe .js Datei einfach mal im Browser anzeigen lassen,
Danke für den Hinweis - es war eine .js Datei. Dort sind die Daten im Klartext enthalten.
vielleicht füllt der Router beim Aufrufen der externen .js Datei automatisch die Variablen im Script (nicht in der HTML-Datei), so dass man die JavaScript Variablen direkt auslesen kann.
Öhm - kann man mit RouterControl die JavaScript Variablen direkt auslesen ?
Weil: Die Daten sind in der .js Datei nur im Rohzustand enthalten und werden vor der Anzeige noch weiter aufbereitet. Z.B. steht in der .js Datei:
Online-Zeit im letzten Monat: 535380 (sek)
und in der Anzeige steht dann 148:43 (hh:mm).
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Ich würde sagen, kannst du nicht. Wie gesagt Quelltext anschauen, irgendwo muss das JavaScript zum Füllen der Angaben sein, kann auch wieder als externe .js Datei eingebunden sein. In diesem Fall die externe .js Datei einfach mal im Browser anzeigen lassen, vielleicht füllt der Router beim Aufrufen der externen .js Datei automatisch die Variablen im Script (nicht in der HTML-Datei), so dass man die JavaScript Variablen direkt auslesen kann.
CCS
Beiträge: 43
Registriert: 01.01.2005, 14:28

Beitrag von CCS »

Original von Mirko:
Die Werte werden per JavaScript (DHTML) an die Stellen mit den <span> eingesetzt. Ob man das erfassen könnte, weiß ich nicht, dazu müsste man sich das JavaScript genauer anschauen.
Könnte man grundsätzlich sagen, daß man die Daten nicht erfassen kann, wenn sie im Quellcode nicht vorkommen ?

Denn aus der Zeile ...
aktueller Monat 144:28 4532 MB 1912 MB/2620 MB 19
... habe ich die Werte 4532, 1912 und 2620 nirgends im Quelltext gefunden (den Text \"aktueller Monat\" und die Zahl \"19\" fand ich)
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Die Werte werden per JavaScript (DHTML) an die Stellen mit den <span> eingesetzt. Ob man das erfassen könnte, weiß ich nicht, dazu müsste man sich das JavaScript genauer anschauen.
CCS
Beiträge: 43
Registriert: 01.01.2005, 14:28

Beitrag von CCS »

Ich habe jetzt mal begonnen die \"FritzBox! Fon WLAN\" mit RCEdit zu erfassen. Die Statusanzeige (Online= Ja/nein und IP-Adresse) funktioniert schon. Alles andere ist schwierig, weil die HTML-Seiten irgendwie \"unorthodox\" sind. Beispiel: Es gibt eine HTML-Seite auf der die verbrauchten Volumen angezeigt werden. Auf der HTML-Seite erscheint z.B. folgendes:

(Zeitraum (hh:mm) gesamt gesendet/empfangen Anzahl Verbindungen)
aktueller Monat 144:28 4532 MB 1912 MB/2620 MB 19

Im HTML-Quelltext steht dazu lediglich:
<tr>
<th>aktueller Monat</th>
<td><span>__:__</span></td>
<td><span>____ MB</span></td>
<td><span>____ MB</span>/<span>____ MB</span></td>
<td>19</td>
</tr>
Das heißt, die Zahlen werden irgendwie (?) eingesetzt – erscheinen aber nicht im Quelltext. Ich habe keine Ahnung, wie das gemacht wird.

Oder, anderes Beispiel:
Die Anzeige, ob WLAN inaktiv, aktiv und verschlüsselt oder unverschlüsselt ist, wird mit Variablen gelöst:
<tr>
<td>WLAN</td>
<td>
<script>
var wlanstate = \"1\";
var encryption = \"1\";
var toWrite = \"Inaktiv\";
if (wlanstate == \"1\") {
toWrite = \"Aktiv \";
if (encryption == \"0\") toWrite += \"(unverschl&uuml;sselt)\";
else toWrite += \"(verschl&uuml;sselt)\";
}
document.write(toWrite);
</script>
</td>
</tr>
Wie soll man das in eine Abfrage von RouterControl bekommen ?
Antworten