Update: ab Firmware xx.03.14 kann man folgenden URL erreichen: http://fritz.box/cgi-bin/..%2Fcgi-bin%2Fwebcm?getpage=..%2Fhtml%2Fmenus%2Fmenu1.html&var:menu=system&var:pagename=netipadr&var:pagetitle=Netzwerkeinstellungen Details: http://www.wehavemorefun.de/fritzbox Aendern der IP-Adressen der Fritz Box Fon (und ähnlicher?) ========================================================== (Rezept ganz unten!) Obwohl insgesamt ein schnuckeliges Geraet, hat die fboxfon (zumindest mit der aktuellen Firmware 06.01.128) eine massive Schwachstelle: Alle IP-Nummern sind fest eingestellt und ueber das Web-Interface nicht aenderbar (hat mal jemand getestet, ob das ueber UPNP geht?). Das war zunaechst Anlass genug, mal naeher zu betrachten, wie das Ge- raet aufgebaut ist. Ziemlich schnell bestaetigte sich die Vermutung, dass die fboxfon unter Linux laeuft, denn das ladbare Firmware-Update bestand aus einem tar-File, das so wohlklingende Dateien wie "kernel.image" und "filesystem.image" enthaelt. (Das heisst erstmal nicht viel, wenn sich "filesystem.image" aber als Squash-FS entpuppt und sich in "kernel.image" nach einigen Byte ein ZImage findet, reicht das ...) Mit diesem Ruestzeug und nach Ueberwinden eines kleinen Stolpersteins (warum eigentlich ist das busybox-tar erst vor kurzem POSIX-konform geworden?) gelang es, ein modifiziertes Firmware-Image zu erstellen, dass beim Booten einen telnet-Daemon startet und via remote login eine live-Analyse des Systems gestattete. Langer Rede kurzer Sinn: wie aendert man denn nun die IP-Adresse? Fuer die meisten Netzwerkeinstellungen auf der fboxfon nach dem Booten zeichnet der DSL-Userprozess `dsld' verantwortlich. Wahrscheinlich deshalb, weil dort eh ein paar Syscalls bezueglich Interfaces drin waren und er eh die Config parsen musste. Die relevante Konfigdatei ist /var/flash/ar7.cfg. Das ist keine gewoehnliche Datei, sondern ein character device, aus dem man die Konfigdatei lesen oder in das man sie wieder hineinschreiben kann. Grundsaetzlich kennt die fboxfon netzmaessig zwei Betriebsarten: Bridge oder Router. Das kann man bereits ueber das Web-Interface aus- waehlen ("Alle Rechner befinden sich im gleichen Netzwerk" -> bridge). Im "Bridge" Modus (Konfigvariable: ar7cfg.ethmode = ethmode_bridge) wird die IP-Adresse durch den Eintrag ar7cfg.brinterfaces.ipaddr und ...netmask bestimmt. Sonst durch die entsprechenden Eintraege wie ar7cfg.ethinterfaces[eth0].ipaddr etc. Das ist alles. Einfach aendern und gut is ... fast. In den HTML-Dateien des Web-Interface ist die IP an ein paar Stellen fest eingebaut. Die muesste man auch noch anpassen. Man kommt aber auch so zu Recht. Daneben gibt es auch noch die Moeglichkeit, im Interface-Eintrag "dhcp = yes" zu setzen. Das funktioniert prima, inklusive dadurch korrekt gesetzter default route ("Abbe isch abe gar keine De eSse eLle ..."), hostname, resolv.conf etc. Und hier das Kochrezept: ======================== - (Paranoia:) Box vom DSL trennen (vom ISDN wollen wir gar nicht reden ;-) - http://www.akk.org/~enrik/fbox/starttelnet.image als "Firmware" auf die Box laden. Dieses "Image" enthält keine Firmware, sondern nur ein Skript, dass den vorhandenen Telnet-Daemon startet. Wer's nicht glaubt, darf die tar-Datei gerne vorher auspacken und anschauen. - Fehlermeldung im Webinterface ignorieren - telnet 192.168.178.1 - man hat nun eine Shell auf der fboxfon $ cd /var/tmp $ cat /var/flash/ar7.cfg > ar7.cfg $ vi ar7.cfg ... IP-Nummern aendern (dabei macht man besser keinen Fehler ...) $ cat ar7.cfg > /var/flash/ar7.cfg $ reboot - nach dem Reboot sollte die neue IP konfiguriert sein oder ein DHCP- Request abgesetzt werden. - ansonsten ist die fboxfon im "Originalzustand", dh kein Telnet-Daemon oder modifizierte Firmware. # Copyright (C) 2004 Enrik Berkhan # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA