- Zuerst wird freetz aus dem Trunk heruntergeladen und konfiguriert, hierbei ist wichtig, dass der "callmonitor" mitsamt dem Webinterface, Phonebook-Support und den Actions aktiviert wird; sowie die weiter unten die Funktion Funktion "decrypt FRITZ!OS configs".
- Auf das Kompilieren von Freetz, die dabei u.U. auftretenden Probleme wie umask 0022 gehe ich hier ansonsten nicht weiter ein. Hierfür gibt es andere gute Quellen.
- Ebenso muss das fertige Image auf die Box gebracht werden. Auch hierauf gehe ich nicht weiter ein.
- Im Anschluss besuchen wir das freetz-Webinterface der Fritzbox auf Port 81, d.h. wir geben in den Browser ein:
Die Zugangsdaten sind standardmäßig admin : freetz
Einige Einstellungen können in Freetz jedoch noch nicht gesetzt werden, weil die Sicherheitsstufe hierfür nicht ausreicht. Wir müssen daher erst mit Telnet auf die Box, hierfür aktivieren wir unter System -> Dienste den telnetd-Dienst:
- Nun öffnen wir unser Telnet-Clientprogramm, hierfür empfehle ich putty und verbinden uns mit fritz.box.
Standardzugangsdaten sind hier root : freetz
Das Kennwort hier ist unabhängig von der Weboberfläche, d.h. das Kennwort ist auch dann noch freetz, wenn es für die Weboberfläche geändert wurde.
In der telnet-Umgebung werden wir nun gezwungen, das Kennwort für den Telnet-Zugang zu ändern. Das machen wir. Im Anschluss passen wir mit den folgenden beiden Befehlen die Sicherheitsstufe an:
Nun legen wir noch das Skript an, welches eingehende Anrufe auf den Tellow-Score prüft. Das geht am besten mit cat.
Wir schreiben
Nun fügen wir folgenes Skript ein und beenden den Vorgang im Anschluss mit STRG + C. Einfügen funktioniert in Putty z.b. mit einem Rechtsklick. Also cat > ... , dann rechtsklick um das in der Zwischenablage befindliche Skript einzufügen, dann STRG + C drücken.
Bitte die eigene Vorwahl anpassen, sofern man diese bzgl. der Durchsuchung auf Tellow ausnehmen möchte.
Skript:
Nun müssen wir das Skript als Ausführbar markieren mit
Jetzt können wir die Telnet-Konsole (d.h. Putty) wieder verlassen, indem wir das Fenster schließen.
- Nun wechseln wir wieder in die Weboberfläche und besuchen nun den Unterpunkt Callmonitor. In den Einstellungen setzen wir den Starttyp auf automatisch. Das Fritzbox-Telefonbuch benötigen wir, um beim Vorhandensein im Telefonbuch das Skript abzubrechen, denn genau dann handelt es sich nicht um einen Werbeanruf.
- Dann geben wir unter Regeln eine einzige Regel ein, die für alle eingehenden Anrufe beim ersten Klingeln greift und unter Skript aufruft. Was macht das Skript? Es nutzt die übertragene Rufnummer um den Tellow-Score der Nummer herauszufinden. Sofern dieser 7 oder größer ist, wird der Anruf abgebrochen, indem viele "Anruf annehmen und Auflegen" Befehle an den internen Telefon-Dämon geschickt werden. Bei meiner 7270v3 haben wenige dieser Befehle gereicht, seit der 7390 muss ich das ganze mehrmals in Folge machen.
- Nun können wir die Rufnummer testen: Hierfür simuliere ich zuerst einen Telefonanruf von der Telekom unter der 08003301000. Wir sehen nur, dass das Skript augeführt wird.
- Nun testen wir nochmal, diesmal von einer als Aggressiv eingestufen Nummer, man findet eine solche, indem man in Google nach Tellow und Aggressiv schaut, u.a. 030322951891
Im Skript sehen wir hier dann, dass ganz viele "OK" Befehle als Rückgabe vom internen Telefon-Dämon zurückkommen, weil wir ihn mit "Auflegen"-Datenpaketen zugebombt haben. Es klingelt bei mir immer für ca. 0,5 Sekunden, dann ist das Telefonat weg.
Mein eigenes Tischtelefon klemmt am FON2, durch den obigen Befehl sieht man dann einen angenommenen Anruf an FON1. Dieser heißt bei mir "Spam-Catcher".
//edit stoney: von Voll- zu Minaturansicht geändert
- Auf das Kompilieren von Freetz, die dabei u.U. auftretenden Probleme wie umask 0022 gehe ich hier ansonsten nicht weiter ein. Hierfür gibt es andere gute Quellen.
- Ebenso muss das fertige Image auf die Box gebracht werden. Auch hierauf gehe ich nicht weiter ein.
- Im Anschluss besuchen wir das freetz-Webinterface der Fritzbox auf Port 81, d.h. wir geben in den Browser ein:
Code:
fritz.box:81
Die Zugangsdaten sind standardmäßig admin : freetz
Einige Einstellungen können in Freetz jedoch noch nicht gesetzt werden, weil die Sicherheitsstufe hierfür nicht ausreicht. Wir müssen daher erst mit Telnet auf die Box, hierfür aktivieren wir unter System -> Dienste den telnetd-Dienst:
- Nun öffnen wir unser Telnet-Clientprogramm, hierfür empfehle ich putty und verbinden uns mit fritz.box.
Standardzugangsdaten sind hier root : freetz
Das Kennwort hier ist unabhängig von der Weboberfläche, d.h. das Kennwort ist auch dann noch freetz, wenn es für die Weboberfläche geändert wurde.
In der telnet-Umgebung werden wir nun gezwungen, das Kennwort für den Telnet-Zugang zu ändern. Das machen wir. Im Anschluss passen wir mit den folgenden beiden Befehlen die Sicherheitsstufe an:
Code:
echo 0 > /tmp/flash/mod/security
modsave all
Nun legen wir noch das Skript an, welches eingehende Anrufe auf den Tellow-Score prüft. Das geht am besten mit cat.
Wir schreiben
Code:
cat > /var/media/ftp/calllog
Nun fügen wir folgenes Skript ein und beenden den Vorgang im Anschluss mit STRG + C. Einfügen funktioniert in Putty z.b. mit einem Rechtsklick. Also cat > ... , dann rechtsklick um das in der Zwischenablage befindliche Skript einzufügen, dann STRG + C drücken.
Bitte die eigene Vorwahl anpassen, sofern man diese bzgl. der Durchsuchung auf Tellow ausnehmen möchte.
Skript:
Code:
#!/bin/sh
VORWAHL=0221
# Variablen für Rückruf etc. bereinigen
FROM=`echo $SOURCE | sed -e 's/^0049/0/'`
# Wenn Rufnummer übertragen wurde...
if [ "$SOURCE" ]; then
# ... aber Telefonnummer nicht im Telefonbuch vorhanden...
if [ ! "$SOURCE_NAME" ]; then
# ... und nicht aus dem eigenen Vorwahlbereich ...
if [ ${FROM:0:${#VORWAHL}} -ne $VORWAHL ]; then
# erfrage Tellow Score und lege auf bei Score > 6
score=`wget -qO- http://www.tellows.de/basic/num/$FROM`
score=`echo $score | sed -n -e 's/.*<span id="score">\([0-9]\)<\/span>.*/\1/p'`
if [ $score -ge "7" ]; then
echo Tellow Score groesser 6! Beende Anruf ...
echo "ATP51 ATD*09 ATH0 ATP1 ATD*09 ATH0 ATP51 ATD*09 ATH0 ATP1 ATD*09 ATH0 ATP51 ATD*09 ATH0 ATP1 ATD*09 ATH0 ATP51 ATD*09 ATH0 ATP1 ATD*09 ATH0 ATP51 ATD*09 ATH0 ATP1 ATD*09 ATH0" | nc 127.0.0.1 1011
fi
fi
fi
fi
Code:
chmod +x /var/media/ftp/calllog
Jetzt können wir die Telnet-Konsole (d.h. Putty) wieder verlassen, indem wir das Fenster schließen.
- Nun wechseln wir wieder in die Weboberfläche und besuchen nun den Unterpunkt Callmonitor. In den Einstellungen setzen wir den Starttyp auf automatisch. Das Fritzbox-Telefonbuch benötigen wir, um beim Vorhandensein im Telefonbuch das Skript abzubrechen, denn genau dann handelt es sich nicht um einen Werbeanruf.
- Dann geben wir unter Regeln eine einzige Regel ein, die für alle eingehenden Anrufe beim ersten Klingeln greift und unter Skript aufruft. Was macht das Skript? Es nutzt die übertragene Rufnummer um den Tellow-Score der Nummer herauszufinden. Sofern dieser 7 oder größer ist, wird der Anruf abgebrochen, indem viele "Anruf annehmen und Auflegen" Befehle an den internen Telefon-Dämon geschickt werden. Bei meiner 7270v3 haben wenige dieser Befehle gereicht, seit der 7390 muss ich das ganze mehrmals in Folge machen.
Code:
in:request ^ ^ /var/media/ftp/calllog
- Nun können wir die Rufnummer testen: Hierfür simuliere ich zuerst einen Telefonanruf von der Telekom unter der 08003301000. Wir sehen nur, dass das Skript augeführt wird.
- Nun testen wir nochmal, diesmal von einer als Aggressiv eingestufen Nummer, man findet eine solche, indem man in Google nach Tellow und Aggressiv schaut, u.a. 030322951891
Im Skript sehen wir hier dann, dass ganz viele "OK" Befehle als Rückgabe vom internen Telefon-Dämon zurückkommen, weil wir ihn mit "Auflegen"-Datenpaketen zugebombt haben. Es klingelt bei mir immer für ca. 0,5 Sekunden, dann ist das Telefonat weg.
Mein eigenes Tischtelefon klemmt am FON2, durch den obigen Befehl sieht man dann einen angenommenen Anruf an FON1. Dieser heißt bei mir "Spam-Catcher".
//edit stoney: von Voll- zu Minaturansicht geändert
Zuletzt bearbeitet: