Versteckte Features

From Fritz!Box

Jump to: navigation, search

Contents

[edit] rc.user ab Firmware xx.03.14

Ab Version xx.03.14 gibt es eine neue Datei in /var/flash: debug.cfg. Der Inhalt dieser Datei wird beim Booten durch /etc/init.d/rc.S nach /var/rc.user geschrieben und dann ausgeführt. Somit kann man z.B. den telnetd starten, ohne die Firmware zu modifizieren, indem man folgendes in /var/rc.user schreibt (Wundert euch nicht über den leeren Inhalt der rc.user Datei. Einfach folgendes rein schreiben und dann in die "debug.cfg" sichern.):

 #! /bin/sh
 /usr/sbin/telnetd -l /sbin/ar7login

und dann noch ins Flash sichert:

 cat /var/rc.user > /var/flash/debug.cfg

Diese Aktionen kann man natürlich automatisiert aus einem Pseudo-Firmware-Update ausführen lassen.

Näheres zum starten von telnetd.

[edit] DDNS (Dynamisches DNS / DynamicDNS) im multid

Ab der Firmware *.03.22 kann das ganze auch übers Webinterface konfiguriert werden. Der folgende Text dient nunmehr der Dokumentation der Möglichkeiten, falls das in einem Spezialfall nicht ausreichen sollte :-)

Hinweis: wer DDNS manuell konfiguriert hat, sollte vor dem Update auf die *.03.22 die ddns{}-Sektion wieder löschen, damit von der Firmware die Default-Anbieter vorkonfiguriert werden.

Die Fritz!Box Firmware mit multid kann DDNS. Die Konfiguration besteht aus drei Listen innerhalb der Sektion ddns in der Datei /var/flash/ar7.cfg.

types 
definiert URLs für die DDNS Registrierung, in der <username>, <pass>, <domain> und <ipaddr> ersetzt werden. Ausserdem gibt es noch die Tags <b64> und </b64>, die wohl zum Base64-encoden dienen (nicht getestet). Weiterhin werden <username> und <pass> für HTTP-Authentication verwendet.
provider 
definiert weitere Parameter für die DDNS Registrierung wie Registrierungsserver, beschreibende URL, Check-Verzögerung und Intervall für forced updates
accounts 
definiert die Zuordnung von User, Pass, Domain und Interface(?)

Beispieleintrag in der ar7.cfg für dyndns.org:

ddns {
  types {
    type = "dyndns";
    url = "/nic/update?system=dyndns&hostname=<domain>&myip=<ipaddr>&wildcard=NOCHG";
  }
  provider {
    name = "dyndns.org";
    type = "dyndns";
    livedelay = 0w;
    touchtime = 30d;
    server = "members.dyndns.org";
    infourl = "http://www.dyndns.org/";
  }
  accounts {
    enabled = yes;
    domain = "test.dyndns.org";
    username = "test"; // in der neuesten Firmware verschlüsselt, kann so nicht angegeben werden!
    passwd = "test";   // dito
    ddnsprovider = "dyndns.org";
    iface = 0;
  }
}

Mit dieser Konfiguration startet der multid die dyndns.org-Registrierung, sobald das dsl-Interface hochkommt. Es wird nicht per DNS-Query(!) geprüft, ob die Zuordnung geklappt hat, weil DynDNS laut policy nicht mag.

Detailierte Informationen über den DYNDNS Service und HowTo's sind unter https://www.dyndns.org/developers/ zu finden.

Enrik 07:01, 4 Nov 2004 (CET)

letze Änderung Enrik 08:38, 24 Dec 2004 (CET)

[edit] Liste der Anrufe

Man erhält eine Liste über das Webinterface. Die URL lautet:

fritz.box/cgi-bin/webcm?getpage=../html/menus/menu1.html&var:menu=journal&var:pagename=foncalls&var:pagetitle=Ereignisprotokoll

oder

fritz.box/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:pagename=foncalls&var:menu=fon (bei der Fritz Box Fon Wlan 7050)

Bei einer neuen Firmware gibt es auch noch einen benutzerfreundlicheren Weg: http://fritz.box/html/anrufliste.html

Unklar ist: Warum ist das Datum falsch? Eventuell wird es durch ISDN bzw. durch den ersten Anruf per ISDN automatisch richtig gesetzt. Über welchen Zeitraum erstreckt sich die Liste, wird sie irgendwann automatisch gelöscht? Das Datum wird nach dem ersten Aufbau einer Internetverbindung gesetzt.Die Box holt sich dann Datum und Uhrzeit von einen Zeitserver. Nach einem Reboot scheint die Liste wieder leer zu sein.

Stellen kann man Datum/Uhrzeit jedenfalls per Telnet:

z.B.


date 101921122004

für den 19.10.2004 21:12 Uhr

Diese Uhrzeit sollte dann bis zum nächsten Reset stimmen (?).

--Sbx 22:25, 19 Oct 2004 (CEST)

For direct access to the .csv of the calls, the url is (at least in the 5012 and 7170) http://fritz.box/cgi-bin/webcm?getpage=../html/de/FRITZ!Box_Anrufliste.csv

-- Koos 12:00, 9 April 2009 (CEST)

[edit] Mitschneiden der IP-Pakete

Die Fritzbox kann DUMP-Dateien der übertragenen Daten bereitstellen. Die URL dazu lautet:

fritz.box/cgi-bin/webcm?getpage=../html/capture.html

oder [1]

Start startet den Datei-Download, Stop ... beendet ihn. Es sind folgende Ebenen verfügbar:

  • Paketmitschnitt auf DSL-Ebene (Standard), angeboten wird die Datei fritzbox-vcc0.eth, enthalten sind die Protokolle llc, eth, pppoes, ppp und lcp beziehungsweise ip sowie die in IP enthaltenen Nutzdaten. Als Source wird die WAN-IP-Nummer der Box dargestellt.
  • Paketmitschnitt auf DSL-Ebene (nur 2. PVC)
  • Paketmitschnitt ohne DSL-Rahmen, angeboten wird die Datei fritzbox-ip.eth, enthalten ist das IP-Protokoll und dessen Nutzdaten (TCP/UDP, HTTP usw.). Es werden die internen IP-Nummern dargestellt.

Bei der FRITZ!Box Fon WLAN 7050 ab Firmware-Version 14.03.86 wird der Mitschnitt direkt als "extended tcpdump capture file" (Ethereal) geschrieben.--Ido tiphares 14:00, 17 Oct 2005 (CEST) --Hb 13:41, 14 May 2006 (CEST)

Bei älteren Boxen enthält die angebotene Datei fritzbox.eth den Traffic, der mit diesem Windows-Programm von Spongebob in ein Ethereal-fähiges Format umgewandelt werden kann. --Udo SW 01:57, 17 Oct 2004 (CEST) --[User: Pfeffer 23:57 18.11.2004] --spongebob 08:20, 10 Jan 2005 (CEST) --Hb 13:41, 14 May 2006 (CEST)

Da ich nach einiger Offlinezeit jetzt wieder online bin, würde ich raten, die jeweils aktuelle Version des Konverters von http://people.freenet.de/spongebob/avm2er.zip herunterzuladen. Die dort liegende aktuellste Version zeigt jetzt auch die Timestamps... --Sbx 21:37, 19 Oct 2004 (CEST)

Ich habe einen Konverter ins libpcap-Format geschrieben. Source gibt es hier. Zum Übersetzten benötigt man neben einer Standard-Linux-Entwicklungsumgebung noch libpcap, die aber bei den allermeisten Distributionen auch dabei sein sollte (Entwicklerpaket installieren, nicht nur die dynamische Library"). -- Enrik 12:01, 8 Nov 2004 (CET)

Man kann sich den dump auch in Live anschauen. Dazu muss man nur die Daten direkt an Wireshark (ehemals Ethereal) pipen, z.B. für eth0:

wget -O - http://fritz.box/cgi-bin/capture_notimeout\?start=Start\&snaplen=1600\&iface=eth0 | wireshark -i - -S -l -k -N nmtC --Js 13:08, 7 Mar 2007 (CET) (Leider meldet in der OpenSuSE 10.3 Beta der Wireshark "Unrecognized libpcap format") --Lowfyr 18:19 18 Sep 2007 (CET) - Das passiert genau dann wenn du ein Passwort gesetzt hast und nicht eingeloggt bist. Log dich in deinem Browser ein und probier es dann nochmal, jetzt sollte es gehen. -- Nexno

Auch unter Windows kann man live mitschneiden. Siehe hierzu NAT32. Diese Fähigkeit ist auch in der kostenlose version von NAT32 drin. -- Nat32support 21:02, 1 January 2009 (CET)

[edit] Statistik

[edit] Statistik ohne gesetzte Uhrzeit

Folgende URL:

fritz.box/cgi-bin/../cgi-bin/webcm?getpage=..%2Fhtml%2Finetstat.html

liefert etwa folgende Ausgabe (nicht mehr ab Firmware 14.04.15):


time unknown

Total           
			Gesamt
Verbindungen		24
Verbindungszeit 	1461967
Empfangene Bytes (Low) 	2740437299
Empfangene Bytes (High) 0
Gesendete Bytes (Low) 	404656004
Gesendete Bytes (High) 	0


VoIP-Anteil
			Gesamt
Empfangene Bytes (Low) 	16108942
Empfangene Bytes (High) 0
Gesendete Bytes (Low) 	15611605
Gesendete Bytes (High) 	0


Einstellungen
box:settings/Statistic/StartOfMonth 1
connection0:settings/VolumeRoundUp/Enabled 0
connection0:settings/VolumeRoundUp/Bytes 0
connection0:settings/Budget/Enabled 0
connection0:settings/Budget/Period 2
connection0:settings/Budget/VolumeLow 0
connection0:settings/Budget/VolumeHigh 0
connection0:settings/Budget/ConnectionTime 0
connection0:settings/ProviderDisconnectPrevention/Enabled 1

--Sbx 21:20, 19 Oct 2004 (CEST)

[edit] Statistik mit gesetzter Uhrzeit

Wenn die Zeit der Box gestellt wurde (man kann auch einen Festnetzanruf über ISDN führen, dann holt sich die Box die Zeit über das ISDN-Protokoll selbst) dann sieht die Statistik aus wie folgt:


time known

Total

                          Heute   Gestern  DieseWoche  LetzteWoche  DieserMonat  LetzterMonat      Gesamt
Verbindungen                  2        11          13            0           13             0          46
Verbindungszeit           62011    864928      926939            0       926939             0     2660236
Empfangene Bytes (Low) 24056202 523993833   548050035            0    548050035             0  2238461627
Empfangene Bytes (High)       0         0           0            0            0             0           0
Gesendete Bytes (Low)  12733525 428294765   441028290            0    441028290             0  1283237006
Gesendete Bytes (High)        0         0           0            0            0             0           0


VoIP-Anteil
                          Heute   Gestern  DieseWoche  LetzteWoche  DieserMonat  LetzterMonat  GesamtVoIP
Empfangene Bytes (Low) 12771740 183970227   196741967            0    196741967             0   287421747
Empfangene Bytes (High)       0         0           0            0            0             0           0
Gesendete Bytes (Low)  11628691 170776581   182405272            0    182405272             0   269358075
Gesendete Bytes (High)        0         0           0            0            0             0           0


Einstellungen
box:settings/Statistic/StartOfMonth 1
connection0:settings/VolumeRoundUp/Enabled 0
connection0:settings/VolumeRoundUp/Bytes 0
connection0:settings/Budget/Enabled 0
connection0:settings/Budget/Period 2
connection0:settings/Budget/VolumeLow 0
connection0:settings/Budget/VolumeHigh 0
connection0:settings/Budget/ConnectionTime 0
connection0:settings/ProviderDisconnectPrevention/Enabled 1

--novize 19:35, 22 Oct 2004 (CEST)

[edit] Statistik/Monitoring aus den HTML-Daten für UNIXe & Linux

/usr/local/bin/log_fritzbox

#!/bin/bash 
# f. Fritz!Box Fon

unset http_proxy

FRITZPASS="secretPassword"
# ACHTUNG: Passwort wird über eine URL übergeben - Sonderzeichen sind entsprechend zu codieren!

# login
curl -d "login:command/password=$FRITZPASS" \
     -d "getpage=../html/de/menus/menu2.html" \
     -d "errorpage=../html/index.html" \
     -d "var:lang=de" \
     -d "var:pagename=home" \
     -d "var:menu=home" \
     -s http://192.168.178.1/cgi-bin/webcm > /dev/null

# get data
lynx -dump -force_html <( 
    curl -d "getpage=../html/de/menus/menu2.html" \
         -d "errorpage=../html/de/menus/menu2.html" \
         -d "var:lang=de" \
         -d "var:pagename=adsl" \
         -d "var:errorpagename=adsl" \
         -d "var:menu=internet" \
         -d "var:pagemaster=" \
         -d "time:settings/time=1155197483,-120" \
         -s http://192.168.178.1/cgi-bin/webcm

    ) | perl -ane ' 
    # print join "-",@F,"\n";
    $F[0] =~ /Leitungskapazität/       && do { $P{LKD}=$F[2]; $P{LKU}=$F[3] };
    $F[0] =~ /ATM-Datenrate/           && do { $P{ADD}=$F[2]; $P{ADU}=$F[3] };
    $F[0] =~ /Nutz-Datenrate/          && do { $P{NDD}=$F[2]; $P{NDU}=$F[3] };
    # $F[0] =~ /Latenzpfad/
    $F[0] =~ /Latenz/                  && do { $P{LTD}=$F[2]; $P{LTU}=$F[3] };
    $F[0] =~ /Signal\/Rauschtoleranz/  && do { $P{SND}=$F[2]; $P{SNU}=$F[3] };
    $F[0] =~ /Leitungsdämpfung/        && do { $P{LDD}=$F[2]; $P{LDU}=$F[3] };

END {
    print join ",",
    time,
    $P{LKD},       $P{LKU},
    $P{ADD},       $P{ADU},
    $P{NDD},       $P{NDU},
    # /Latenzpfad/
    $P{LTD},       $P{LTU},
    $P{SND},       $P{SNU},
    $P{LDD},       $P{LDU},
    "\n";
}
' >> /var/log/fritzbox.log

exit

crontab

# query fritzbox
* * * * * /usr/local/bin/log_fritzbox

Ausgabeformat

Kommagetrennte Spalten

1. Unix-Timestamp (Sekunden seit 1.1.1970 GMT)
2. Leitungskapazitaet Down
3. Leitungskapazitaet Up
4. ATM-Datenrate Down
5. ATM-Datenrate Up
6. Nutz-Datenrate Down
7. Nutz-Datenrate Up
8. Latenz Down
9. Latenz Up
10. Signal/Rauschtoleranz Down
11. Signal/Rauschtoleranz Up
12. Leitungsdaempfung Down
13. Leitungsdaempfung Up

Beispiel

1156193223,15748,1460,15673,1183,14195,1072,7,0,9,11,19,14,
1156193283,15748,1460,15673,1183,14195,1072,7,0,9,11,19,14,
1156193342,15748,1460,15673,1183,14195,1072,7,0,9,11,19,14,

Darstellung mit gnuplot als CGI im Web

#!/usr/bin/perl -T

use strict;

$ENV{PATH}="/bin:/usr/bin";

# grobe sommerzeit
my $t_offset = ( (localtime(time))[8] == 1 )?(3600):(7200);

my $t_end   = time + $t_offset;
my $t_start = $t_end - 86400*2 + $t_offset; # zwei Tage zurueck

my $range = qq ( [$t_start:$t_end][0:40] );

my $datasrc = qq( "<cat /var/log/fritzbox.log ; zcat /var/log/fritzbox.log.[12].gz" );

my $plotparam = join ",",
    qq( $datasrc using (\$1+$t_offset):10         title "SNR down  [db]" ),
    qq( $datasrc using (\$1+$t_offset):11         title "SNR up    [db]" ),
    qq( $datasrc using (\$1+$t_offset):(\$2/1000) title "down  [Mbit/s]" ),
    qq( $datasrc using (\$1+$t_offset):(\$3/100)  title "up [100Kbit/s]" ),
    ;

# Output a HTML header for the PNG image to follow
print "Content-type: image/png\n\n";

open GP,"|-","gnuplot" or die "can't exec gnuplot: $!";

print GP << "EOF";
set xdata time
set timefmt "%s"
set datafile separator ","
set style data lines
set bmargin 3
set terminal png size 1024,480
plot $range $plotparam
EOF

Sonstiges

gnuplot 4.x
curl
lynx
perl 5.x
bash 2.x

Einzurichten ist noch ein logrotate, dass taeglich das Logfile rotiert.

Gilrihin 23:41, 21 Aug 2006 (CEST)

[edit] DHCP-Client per Webfrontend aktivieren

Um die FritzBox hinter einem anderen Router zu verwenden (z.B. nur für VoIP oder nur als WLAN-AP) muss der FritzBox ein anderes Default Gateway als das eigene bekannt gegeben werden. Relativ einfach geht das indem man den DHCP-Client der Fritzbox aktiviert welcher von einem DHCP-Server auf einem anderen Rechner bedient wird und Nameserver und Default Gateway erhält.


Wer es scheut die ar7.cfg zu editieren kann dies auch per Webfrontend tun. Dazu muss man lediglich die CSS Verarbeitung des Browsers deaktivieren. Das geht z.B. mit Firefox/Mozilla (im Menü View -> Page Style -> No Style) oder mit Opera (im Menü Extras -> Einstellungen -> Erweitert -> Inhalt,Darstellungen -> Darstellungsoptionen -> Haken bei 'Stylesheets der Seite' entfernen)


Auf der Seite Einstellungen -> Erweitert wird so die Option DHCP-Client aktiv sichtbar. Dort einen Haken setzen. Sinnvollerweise den Haken beim DHCP-Server entfernen.

Diese unsichtbare Option gibt es in den Firmware-Versionen für die Fritzbox 7050 nicht mehr.
Alternativ: http://fritz.box/cgi-bin/webcm?getpage=../html/interfaces.html ?

Um VoIP der FritzBox zu nutzen, müssen folgende UDP-Ports forwarded werden: 5060, 7078 bis 7081.

[edit] Direktaufruf der Seiten bzw. der versteckten Features

Wer direkt ohne lange Anmeldung Daten von der Box erhalten möchte, braucht sich nur eine kleine HTML-Datei auf den lokalen Rechner zu legen.

Anstelle von $SITEPASSWORD solltet ihr natürlich euer Passwort eintragen. Leider wird dadurch das Passwort im Klartext gespeichert, aber wenn diese Datei lokal auf dem Rechner liegt gibt es ja Möglichkeiten diese vor neugierigen Blicken zu schützen.

[edit] Wahl einer Telefonnummer und vermitteln an Nebenstelle

<form method="POST" action="http://fritz.box/cgi-bin/webcm" target="_self" id="uiPostForm" name="uiPostForm">
	<input type="hidden" name="login:command/password" value="$SITEPASSWORD" id="uiPostPassword">
	<input type="hidden" name="telcfg:settings/UseClickToDial" value="1" id="uiPostClickToDial">
	<input type="hidden" name="telcfg:command/Dial" value="$NUMMER" id="uiPostDial">
	<input type="hidden" name="telcfg:settings/DialPort" value="$NEBENSTELLE" id="uiPostDialPort">
	<input type="hidden" name="getpage" value="../html/de/menus/menu2.html" id="uiPostGetPage">
	<input type="submit">
</form>

Anmerkung: $NEBENSTELLE kann interne ISDN-Nummer (z.B. 51), alle ISDN-Geräte (50) oder die analogen Ports (z.B. FON 1) sein. $NUMMER ist die zu wählende Telefonnummer.

Nur auf neuester Firmware getestet (14.03.85 auf 7050, 08.03.90 auf FBFon WLAN) Wie man die ausgehende MSN manipuliert, habe ich noch nicht herausgefunden. Wählregeln werden nicht ausser Kraft gesetzt.

Wie bekomme ich das jetzt zusammen mit Outlook hin? Bei AVM [2] gibt es nun offiziell einen TAPI Treiber für die FritzBox. Während der Installation wird abgefragt, auf welches interne Telefon (egal ob intern ISDN oder Analog) der initierte Anruf weitergegeben werden soll. Funktioniert spitze!

[edit] Starten des Capture-Log-Downloads

<html>
<body onload="document.getElementById('uiPostForm').submit();">
<form method="POST" action="http://fritz.box/cgi-bin/capture_notimeout" target="_self" id="uiPostForm">
	<input type="hidden" id="uiPostVarName" name="start">
	<input type="hidden" name="login:command/password" value="$SITEPASSWORD" id="uiPostPassword">
</form>
</body>
</html>

[edit] Stoppen des Capture-Log-Downloads

<html>
<body onload="document.getElementById('uiPostForm').submit();">
<form method="POST" action="http://fritz.box/cgi-bin/webcm" target="_self" id="uiPostForm">
	<input type="hidden" name="getpage" value="../html/menus/menu2.html" id="uiPostGetPage">
	<input type="hidden" name="errorpage" value="../html/index.html" id="uiPostErrPage">
	<input type="hidden" name="var:menu" value="home" id="uiPostMenu">
	<input type="hidden" name="var:pagename" value="home" id="uiPostPageName">
	<input type="hidden" name="var:pagetitle" value=" " id="uiPostPageTitle">
	<input type="hidden" name="var:menutitle" value="Home" id="uiPostMenuTitle">
	<input type="hidden" id="uiPostVarName" name="capture:settings/stop">
	<input type="hidden" name="login:command/password" value="$SITEPASSWORD" id="uiPostPassword">
</form>
</body>
</html>

Edit: Nach stoppen des Capture-Logs wird nun direkt zu Fritz-Home weitergeleitet, vorher landete man beim Login-Screen obwohl man angemeldet war, was doch ziemlich verwirrte.

[edit] Online-Zähler (erst ab XX.03.22)

<html>
<body onload="document.getElementById('uiPostForm').submit();">
<form method="POST" action="http://fritz.box/cgi-bin/webcm" target="_self" id="uiPostForm">
	<input type="hidden" name="getpage" value="../html/menus/menu2.html" id="uiPostGetPage">
	<input type="hidden" name="errorpage" value="../html/index.html" id="uiPostErrPage">
	<input type="hidden" name="var:menu" value="internet" id="uiPostMenu">
	<input type="hidden" name="var:pagename" value="inetstat" id="uiPostPageName">
	<input type="hidden" name="var:pagetitle" value="Online-Zähler" id="uiPostPageTitle">
	<input type="hidden" name="var:menutitle" value="Home" id="uiPostMenuTitle">
	<input type="hidden" id="uiPostVarName" name="">
	<input type="hidden" name="login:command/password" value="$SITEPASSWORD" id="uiPostPassword">
</form>
</body>
</html>

Diese Liste könnte nun beliebig fortgesetzt werden aber ich hoffe das Prinzip ist klar.

letze Änderung Kala McAlane 11:24, 28 Dec 2004 (CET)


[edit] Ab FirmwareVersion 09.03.65

Nach dem Firmwareupdate erschien bei mir immer nur noch eine weisse Seite. So funktioniert es wieder:

<html>
<body onload="document.getElementById('uiPostForm').submit();">
<form method="POST" action="http://fritz.box/cgi-bin/webcm" target="_self" id="uiPostForm">
	<input type="hidden" name="getpage" value="../html/de/menus/menu2.html" id="uiPostGetPage">
	<input type="hidden" name="errorpage" value="../html/index.html" id="uiPostErrPage">
	<input type="hidden" name="var:lang" value="de" id="uiPostLang">
	<input type="hidden" name="var:lang" value="de" id="uiPostLang">
	<input type="hidden" name="var:pagename" value="inetstat" id="uiPostPageName">
	<input type="hidden" name="var:menu" value="internet" id="uiPostMenu">
	<input type="hidden" id="uiPostVarName" name="">
	<input type="hidden" name="login:command/password" value="$SITEPASSWORD" id="uiPostPassword">
</form>
</body>
</html>

letze Änderung Holger 11:53, 14 Aug 2005 (CET)

[edit] onclick Methode / Ein- und Ausschalten der SIP-Accounts

Für diese Lösung braucht man das Tool wget[3] (ein Tool zum Herunterladen von Dateien in der Kommandozeile).
Download bei Heiko Herold's windows wget spot. http://xoomer.alice.it/hherold/ Bei Linux schon dabei ;)

wget -O NUL --user-agent="Mozilla/5.0" --post-data="login:command/password=$SITEPASSWORD" "http://fbox/cgi-bin/webcm?getpage=../html/de/menus/menu2.html"
wget -O NUL --post-data="sip:settings/sip0/activated=1&sip:settings/sip0/ID=0&sip:settings/sip1/activated=0&sip:settings/sip1/ID=1" http://fbox/cgi-bin/webcm?getpage=../html/de/menus/menu2.html

Anmerkung: Anstelle von $SITEPASSWORD solltet ihr natürlich euer Passwort eintragen. Zuerst der Login und dann die Übergabe der Parameter.
Es sind 2 SIP-Accounts Vorhanden. Durch sip:settings/sip0/activated=1 wird der 1.Account aktiviert und durch sip:settings/sip1/activated=0 der Zweite deaktiviert.

Wichtig: es müssen immer für alle Accounts die Aktivierungen angegeben werden. Also wenn man 5. Accounts definiert hat müssen für sip0 bis sip4 alle Parameter (activated, ID) gesetzt werden.

Möglich sollten alle Features der FRITZ!Box sein. Getestet habe ich z.B. "Wahl einer Telefonnummer und vermitteln an Nebenstelle". Das sieht dann so aus:

wget -O NUL --user-agent="Mozilla/5.0" --post-data="login:command/password=$SITEPASSWORD" "http://fbox/cgi-bin/webcm?getpage=../html/de/menus/menu2.html"
wget -O NUL --post-data="telcfg:settings/UseClickToDial=1&telcfg:command/Dial=$NUMMER&telcfg:settings/DialPort=$NEBENSTELLE" http://fbox/cgi-bin/webcm?getpage=../html/de/menus/menu2.html

Nur auf neuer Firmware getestet (FRITZ!Box Fon WLAN 7050, Firmware-Version 14.04.01) mit WGET Version 1.10.2


Hier noch eine Möglichkeit die Funktionen der FB von z.B. der dBox aus zu steuern.

Dafür ist das Tool NetCat[4] notwendig. Bei den neueren LinuxImages schon dabei. Für Windows gibt es hier den download: http://www.vulnwatch.org/netcat/

DBox Shellscript:

#!/bin/sh
#--------------------------------------------------------------------
# Set SIP, ON or OFF, on FBF
#--------------------------------------------------------------------

echo "POST /cgi-bin/webcm HTTP/1.0
Content-Type: application/x-www-form-urlencoded
User-Agent: dBox2-status
Host: fbox
Content-length: 78

getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&login%3Acommand%2Fpassword=$SITEPASSWORD

" |
nc -i 1 -w 1 fritz.box 80 > /dev/null

echo "POST /cgi-bin/webcm HTTP/1.0
Content-Type: application/x-www-form-urlencoded
User-Agent: dBox2-status
Host: fbox
Content-length: 174

getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&&sip%3Asettings%2Fsip0%2Factivated=0&sip%3Asettings%2Fsip0%2FID=0&sip%3Asettings%2Fsip1%2Factivated=0&sip%3Asettings%2Fsip1%2FID=1

" |
nc -i 1 -w 1 fritz.box 80 > /dev/null # NetCat der Parameter und Ausgabe unterdrücken

Durch "activated=0" werden beide SIP-Accounts deaktiviert.
Wichtig: Der Parameter "Content-length" muss an die Stringlänge der folgenden Variablen angepasst werden. Es sollte immer erst ein Login und dann erst das setzen der Variablen erfolgen.

--Boxbuchse 11:06, 27 Jun 2006 (CEST)

[edit] Dauerhafte Rufnummernunterdrückung im Festnetz (CLIR)

Bietet der Festnetzanbieter das Merkmal "fallweise Rufnummernunterdrückung (CLIR2)" an, kann man diese Unterdrückung bei jedem abgehenden Anruf über das Festnetz von der Fritzbox automatisch durchführen lassen, wodurch man effektiv eine "dauerhafte Rufnummernunterdrückung (CLIR3)" erhält. Dies ist insbesondere bei Telefonanbietern interessant, die letzteres nicht anbieten (z.B. UnityMedia).

Dazu ist die CLIR2-Keypad-Sequenz als Globale Anbietervorwahl für alle Festnetzrufe einzutragen. Leider erlaubt die Fritzbox-Oberfläche keinen Stern und keine Raute in dieser Vorwahl, so dass man sich mit folgendem Direktaufruf behelfen muss:

<form method="POST" action="http://fritz.box/cgi-bin/webcm" target="_self" id="uiPostForm" name="uiPostForm">
	<input type="hidden" name="login:command/password" value="$SITEPASSWORD" id="uiPostPassword">
	<input type="hidden" name="telcfg:settings/Routing/Provider0" value="$CLIR2CODE" id="uiPostProvider0">
	<input type="hidden" name="getpage" value="../html/de/menus/menu2.html" id="uiPostGetPage">
	<input type="submit">
</form>

Anmerkung: $SITEPASSWORD durch das Passwort für die Administrationsoberfläche ersetzen $CLIRCODE ist die Ziffernfolge, die Rufnummernunterdrückung für den nächsten Anruf aktiviert (z.B. Telekom: *31# oder UnityMedia: *31).

[edit] Branding

In der AVM Firmware sind verschiedene Brandings enthalten. Im wesentlichen wirkt sich das auf die Web Seiten des Admin Interfaces für die DSL und SIP Zugangsdaten aus. Dabei enthält die AVM Firmware immer alle Brandings, diese werden über eine Environment Variable im Flash gesteuert. Ältere Modelle kennen das web.de Branding, neuere nur 1und1 und avm. Am einfachsten kann man sich die Unterschiede in den Verzeichnissen /usr/www/1und1 und /usr/www/avm ansehen.

# ls -l /usr/www/
drwxrwxrwx    1 root     root           34 May 18 13:27 1und1
drwxrwxrwx    1 root     root           24 May 18 13:27 all
drwxrwxrwx    1 root     root           34 May 18 13:27 avm
drwxrwxrwx    1 root     root           62 May 18 13:27 cgi-bin
lrwxrwxrwx    1 root     root            9 May 18 13:27 html -> /var/html
#
# cat /proc/avalanche/env | grep firmware
firmware_version        1und1
firmware_info   14.03.62

Das Setzen des env Eintrags geht über ADAM2 FTP Interface, wie hier beschrieben:

Factory Defaults per ADAM2

In manchen (neueren/älteren?) Firmware-Versionen findet sich der Eintrag firmware_version in einem anderen Device, nämlich in /proc/sys/urlader/environment. Dann kann man mit Hilfe folgender Zeile das Branding entfernen:

echo "firmware_version avm" > /proc/sys/urlader/environment

[edit] Branding entfernen bei einer 7050 ohne Telnet

ACHTUNG: Es gibt Firmwaren, die enthalten gar kein avm-Branding! Bitte erst im nachlesen. Nacher ist es vielleicht zu spät!

1. Folgende Files laden und lokal am PC Speichern

 fritz_as_avm_newer.tar
 Quelle: http://www.ip-phone-forum.de/showthread.php?t=203652&highlight=fritz_as_avm_newer.tar
 
 fritz.box_fon_wlan_7050.04.31.recover-image.exe 
 Quelle: ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7050/x_misc/fritz.box_fon_wlan_7050.04.31.recover-image.exe
 
 fritz.box_fon_wlan_7050.14.04.33.image
 Quelle: ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7050/firmware/fritz.box_fon_wlan_7050.14.04.33.image

2. fritz_as_avm_newer.tar als Pseudo-Image in die FB laden (Anleitung: http://www.ip-phone-forum.de/showthread.php?t=203652)

Wenn das noch nicht reicht ... Firmware-Recovery durchführen mit:

3. fritz.box_fon_wlan_7050.04.31.recover-image.exe ausführen (Anleitung unter: http://www.telefonsparbuch.de/tmpl/calc/telephone/lcr/info/fritzbox_recover_howto.htm oder http://www.router-faq.de/index.php?id=fb&fb=recover)

4. fritz.box_fon_wlan_7050.14.04.33.image (letzte verfügbare Version) in die FB laden

[edit] Fritz.Box Fon 5050 hinter einem Router

Die Features der Fritz Box 5050 sind wirklich bestechend.

Mein einziges Problem: Ich habe keinen DSL Anschluss, sondern hänge hinter einem Router an einem Kabelmodem. Die ATA kann das reine Routing, hat jedoch sonst reduzierte Features.

Dennoch hat sich ein Blick auf die ATA Firmware gelohnt, findet man da doch unter ein features namens ' pppoeiface = "eth0"; '.

Mit der gepatchten telnet firmware also rein in die Box und im ar7.cfg unter /var/flash in der Rubrik 'dslglobalconfig' eingetragen und dann noch zu guter Letzt das interface 'eth0' und 'dsl' mit dhcpclient Fähigkeiten versehen.

Seither läuft die Box bei mir WAN-mässig über eth0 (so wie's scheint perfekt ohne timeout der voip leitungen und inkl. ntp zeit. Hier hatte ich nämlich vorher die ganze zeit probleme).

Ach ja: Die Box muss im dslmode_bridge laufen, sonst sucht sich dsl zu tode...

Viel Spass!

[edit] ENUM-Lookup

Die FBF 7050 kann ENUM-Lookups machen (mit gewisssen Einschränkungen), von Haus aus ist diese Funktion aber ausgeschaltet, weil sie wohl noch experimentell ist. Zum Aktivieren per telnet einloggen und

nvi /var/flash/voip.cfg

aufrufen, runterscrollen bis

enum_support_enabled = no;
enumdomains = "e164.arpa", "e164.org";

und no in yes ändern. In der Variable enumdomain sind die Registrare in der Reihenfolge, wie sie abgefragt werden, eingetragen.

Das Feature wird mit FW 08.03.73 prinzipiell vom Webinterface aus einschaltbar, ist allerdings per IF-statement in /usr/www/all/html/de/fon/sipoptionen.* ausgeklammert (OEM == avme).

Bei mir musste erst das Folgende in die Datei /var/flash/debug.cfg eingetragen werden, damit der Knopf unter Telefonie -> Internettelefonie -> Erweiterte Einstellungen sichtbar wurde:

sed "s/avme/avm/g" /usr/www/all/html/de/fon/sipoptionen.html > /var/tmp/sipoptionen.html
sed "s/avme/avm/g" /usr/www/all/html/de/fon/sipoptionen.js > /var/tmp/sipoptionen.js
chmod 444 /var/tmp/sipoptionen.html
chmod 444 /var/tmp/sipoptionen.js
mount -o bind /var/tmp/sipoptionen.html /usr/www/all/html/de/fon/sipoptionen.html
mount -o bind /var/tmp/sipoptionen.js /usr/www/all/html/de/fon/sipoptionen.js

s. hierzu: http://www.ip-phone-forum.de/showthread.php?t=91983 ]

[edit] Registrierung an Asterisk beschleunigen

Wenn man von Hand in der /var/flash/ar7.cfg für alle VOIP-Accounts (bei neueren (?) Firmwaren steht die Konfiguration der SIP-Accounts in /var/flash/voipd.cfg), die direkt einen Asterisk-Server ansprechen (z.B. dus.net), folgendes schreibt ...

no_register_fetch = yes;

... geht die Registrierung auch dort ohne große Verzögerung vonstatten.

(Hintergrund: Asterisk, zumindest 1.0.x, 1.2.x noch nicht getestet, ignoriert REGISTERs ohne Contact:-Header (fetch). Die Fritz!Box kann das zwar ausgleichen, indem sie nach einem Timeout dann mal einen REGISTER ohne fetch probiert, aber das dauert eben etwas.)

[edit] 1und1 Login: versteckte ID

Im 1&1 Branding sendet die FBF neben dem normalen Login String "1und1/31x-xxxx@online.de" noch einen Hash über die User-ID: "1und1/(A079xxxxx)31x-xxxx@online.de".

Dieser Hash wird offenbar auch vom technischen Support von 1&1 ausgewertet, offensichtlich können die 1&1 Mitarbeiter dies in ihrem System sehen. Zitat aus einer Support-Mail: "In unserem System wurde diese, als die, an sie ausgelieferte Box angezeigt." (sic!)

Das Zitat belegt, daß die Seriennummer der Fritz!Box übertragen bzw. gespeichert wird, das Zitat hat aber mit einem Hash nichts zu tun. Bei einem Hash handelt es sich lediglich um eine Zusammenfassung von Daten um zu prüfen, ob die Daten korrekt übermittelt wurden. Im Rahmen eines Login einen Hash des Username zu übermitteln wäre allerdings von fragwürdiger Sinnhaftigkeit, da ein Übermittlungsfehler lediglich einen Anmeldefehler verursachen würde, die Anmeldung müsste dann wiederholt werden. Gleiches würde auch dann eintreten, wenn der Hash falsch wäre. Rein theoretisch und ohne die Daten gesehen zu haben könnte ich mir deshalb vorstellen, daß nicht ein Hash, sondern eine wie auch immer geartete Seriennummer übertragen wird.

Zusätzlich beachtet die FBF die Einstellung der Option username_prefix_after_auth_failure = "D"; diese bewirkt, dass bei einem abgelehnten Login der nächste Versuch mit einem Usernamen erfolgt mit vorangestelltem D. Das wird von der 1&1 benutzt wenn ein Kunde das Zwangsportal nicht wünscht. Details: http://eckes.org/article.php?sid=334

[edit] WDS für FB WLAN (WLAN Repeater aktivieren)

Wichtig: Bitte zuerst die neueste Firmware aufspielen. Damit wird diese Funktion meistens erst zugänglich.

Eine ausführliche Anleitung zur Konfiguration von WDS findet man im IP-Phone-Forum Wiki und - weil es kein verstecktes Feature mehr ist - auch bei AVM.

Der Link zur Konfigurationsseite

http://fritz.box/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:menu=wlan&var:pagename=wds

Bei der internationalen Version (Annex A, z.B. Österreich) gibts nur die englische Oberfläche, also:

http://fritz.box/cgi-bin/webcm?getpage=../html/en/menus/menu2.html&var:lang=en&var:menu=wlan&var:pagename=wds

Update 4.4.06: Ist seit der Beta version (FB 7050) 14.04.03-xxxx offiziell im WLAN Menü enthalten

[edit] "Bier holen" mit FRITZ!Box Fon WLAN

Weil AVM eine Menge neue Funktionen per Software Update nachlieferte, schrieb jemand in einem Forum aus Spaß, es wäre schön, wenn die Box jetzt auch noch Bier holen könnte. Nun kann man durch Eingabe von #96*6* an einem an die Box angeschlossenen ISDN-/modernen Analog-Telefon den Text "Bier holen" auf dem Display des Telefons abrufen (vorausgesetzt das Telefon unterstützt die Anzeige solcher Texte).

Noch ein kleiner Zusatzgag ... hab mich fast krankgelacht, nachdem ich das doch gleich mal ausprobieren mußte ... je nach Uhrzeit kommt auch schon mal die Antwort "Kein Bier vor 4" ...

[edit] LEDs ansteuern

Eine relevante Header-Dateien im Quelltext ist dazu u.a:

kernel_ohio-8mb_bild/kernel/linux-2.4.17_mvl21/include/asm-mips/avalanche/ledapp.h

aus diesem tar-Archiv: ftp://ftp.avm.de/develper/opensrc/fritzbox-source-files-current.tar.gz

weitere Informationen http://wiki.ip-phone-forum.de/gateways:avm:howtos:mods:leds

[edit] LED 1 - Power

echo 1,1 >/var/led LED ausschalten

echo 1,2 >/var/led langsames Blinken

echo 1,3 >/var/led 2 * langsam Blinken, dann kurze Pause

echo 1,4 >/var/led (und höhere Werte) durchgehend Leuchten

[edit] LED 2 - DSL

echo 2,1 >/var/led LED ausschalten

echo 2,2 >/var/led durchgehend Leuchten

echo 2,3 >/var/led (und höhere Werte) schnelles Blinken

[edit] LED 3 - LAN

echo 3,1 >/var/led LED ausschalten

echo 3,2 >/var/led (und höhere Werte) durchgehend Leuchten

[edit] LED 4 - WLAN

echo 4,1 >/var/led LED ausschalten

echo 4,2 >/var/led durchgehendes Leuchten

echo 4,3 >/var/led schnelles Blinken

echo 4,4 >/var/led (und höhere Werte) langsames Blinken

[edit] LED 7 - Info

echo 7,1 >/var/led LED ausschalten

echo 7,2 >/var/led durchgehend Leuchten

echo 7,3 >/var/led (und höhere Werte) lässt sie wie beim Firmware-Update blinken

[edit] LED 13 - Festnetz-Telefon

echo 13,1 >/var/led LED ausschalten

echo 13,2 >/var/led durchgehendes Leuchten

echo 13,3 >/var/led schnelles Blinken

echo 13,4 >/var/led langsames Blinken

[edit] LED 14 - Internet-Telefon

echo 14,1 >/var/led LED ausschalten

echo 14,2 >/var/led durchgehendes Leuchten

echo 14,3 >/var/led schnelles Blinken

echo 14,4 >/var/led langsames Blinken

[edit] TelnetD per Telefon steuern

In der aktuellen Firmware x.04.01 hat AVM den Boxen die Möglichkeit beschert, nach dem Bierholen gleich konzentriert im Kern zu arbeiten...

#96*7* Telnet aktivieren
#96*8* Telnet deaktivieren

vom Telefon aus.

Bisher wird in zahlreichen Foren nur auf die ISDN-Fähigen Boxen (5050, 7050, 7170) Bezug genommen, jedoch kann auch meine einfache FBF alle neuen Funktionen ausser "Bier holen" bzw. das Bier mit "Bier erst nach 4" verbieten...

Angezeigt werden funktionierende Funktionen mit einem langen Quittungston, nicht funktionierende - wie beispielsweise das Bier holen bei der einfachen FBF ohne ISDN - mit einem Quittungston mit kurzen Intervallen...

--malkov2 20:03, 02 Mar 2006 (CET)

Personal tools