September 21, 2024

Sweetweb – Web technologies, virtualization and video games

We talk about web technologies, virtualization, AI, Network and video games

Monitorer sa Livebox avec Munin

4 min read

Récupérer quelques informations de votre livebox, comme sa consomation en ram, son traffic pour générer des graphiques sous munin.
Sa faisait depuis un moment que je voulais connaitre mon traffic mensuel du reseau de mon chez moi, chose faite !

Ce tutoriel est consacré à la livebox Sagem F@ST3202 Livebox1.

Un peu d’histoire sur la livebox Sagem

La livebox, enfin « les » vu qu’il y en a plusieurs, ici je vais parlé de la livebox Sagem F@ST3202 Livebox1.
Je ne connais pas les autres malheureusement, elle date celle-ci. je l’ai depuis 2004 si je dit pas de bêtise.

Pendant ces 5 ans j’ai du voir 2 versions de firmware, actuellement je possède la version 26014A.

Munin et un serveur linux avant tout !

Dans ce tutoriel, pour que sa fonctionne il vous faut une machine sous linux en locale avec munin d’installé et qui tourne de préférence 24h/24, pour ma part j’utilise une EEEbox de asus en temps que serveur @ home.
J’en parlerai plus en détail dans un autre billet.

Malgrès les posibilités de la livebox, je ne suis pas un geek fou ! J’ai pas cherché à installer munin dessus, je crois pas que sa soit possible de toute façon car les commandes du shell son plutôt limité.
Oui ! j’ai bien dit shell. En cherchant un peu sur le net j’ai découvert un blog avec plein de truc et astuce au sujet de la livebox. Pour les curieux voici le blog : http://liveboxsagem11.centerblog.net.

Vous allez vous aperçevoir que les developpeurs d’orange ont pas mal bridé l’accès via telnet mais aussi l’interface web.
Nous allons commencé par débridé l’accès root.

L’antre de la livebox

Ouvrez votre naviguateur, pour accèder à l’interface web de votre livebox.
En général il suffit d’y accèder via cette adresse ip -> http://192.168.1.1
Connectez vous, puis dans votre barre d’adresse copier/coller ceci:

javascript:mimic_button('goto: 70..', 0)

Via cette page vous allez pouvoir éditer la configuration de votre livebox, commencez par sauvegarder cette configuration sous le nom livebox.conf.
Une fois que s’est fait, ouvrez le fichier livebox.conf – et recherchez « (username(root)) »

Vous devriez trouver ce genre de paragraphe :

(username(root))
(password(&87;&26;&22;&84;))
(full_name(root))
(email())
(permissions
(mgt(1))
(superuser(0))
(readonly(0))
(fs(1))

La modification s’effectue ici « superuser(0) » nous allons changer sa valeur par 1 pour donner les droits de super utilisateur à l’utilisateur root. Enregistrez votre fichier, retourner sur votre naviguateur web puis cliquez sur « charger le Fichier de Configuration » et sélectionnez votre fichier livebox.conf.

Validez les changements, puis pour vérifier si tout est bien opérationnel ouvrez votre invite de commande (windows + r –> cmd)

telnet 192.168.1.1

un login et un mot de passe vous seront demandé :
login : root
pass : 1234

original hmm ? :D

une fois connecté faite un simple :

ls

Si vous voyez au moins « ifconfig » et « meminfo » c’est que vous avez les droits superuser.

Les choses sérieuses

Passons aux plugins munin, je me suis inspiré du script de bodman visible ici http://bodman.wordpress.com/…/aller-plus-loin-avec-une-livebox… pour faire transiter les infos
Sa m’a permi de découvrir perl par la même occasion.

Pour une raison de clarté, j’ai séparé les plugins munin, des scripts qui récupère les informations entre la livebox et le serveur.

Ils vous faudra donc télécharger ces scripts :
adsl_livebox_traffic.pl
adsl_livebox_mem.pl

Placez les sur votre serveur, pour ma part je les ai mit dans /home/scripts/
Pour fonctionner nous allons devoir leur donné le droit d’être executé.

chmox +x /home/scripts/adsl_livebox_mem.pl
chmox +x /home/scripts/adsl_livebox_traffic.pl

adsl_livebox_mem.pl :
On se connecte via telnet –> on entre dans le shell puis on effectue un ifconfig de l’interface br0, pour la ma part br0 regroupe l’ensemble du traffic internet et local, je peux pas confirmer si c’est comme ça sur toutes les livebox.

adsl_livebox_traffic.pl :
Ici on effectue toujours dans le shell /proc/meminfo qu’on recupere et qu’on stockera dans un fichier sur le serveur linux, le chemin par default du fichier est situé /home/scripts/cache/livebox_meminfo, pensez à le modifier si vous ne gardez pas la même arborescence que moi ! Celui-ci je l’execute non pas via le plugin munin mais via une tache cron toutes les 5 minutes.
Pour créer cette tache :

crontab -e

et ajouter

*/5 * * * * perl /home/scripts/adsl_livebox_mem.pl

Voilà déjà pour la partie transit on va dire.

Passons aux plugins pour munin :
livebox_bandwidth
livebox_mem

Copiez ces deux fichiers dans /usr/share/munin/plugins puis rendez les executables

chmox +x /usr/share/munin/plugins/livebox_bandwidth
chmox +x /usr/share/munin/plugins/livebox_mem

Pensez à les éditer ! Pour livebox_bandwidth il vous faut indiquer le chemin du fichier adsl_livebox_mem.pl, si vous avez gardé mon arborescence vous n’avez pas besoin d’effectuer cette modification.
Pour le fichier livebox_mem, j’ai repris le script memory de munin, vu que les données sont sensiblement les même, il faut juste indiqué le chemin du fichier cache qui est généré par /home/scripts/adsl_livebox_mem.pl
Si vous avez gardé mon arborescence vous n’aurez pas besoin de le modifié.

Il faut ensuite activer les plugins munin en créant un lien symbolique :

ln -s /usr/share/munin/plugins/livebox_bandwidth /etc/munin/plugins
ln -s /usr/share/munin/plugins/livebox_mem /etc/munin/plugins

Puis redémarrer munin

/etc/init.d/munin-node restart

les modifications prendront effet au bout de quelques minutes.

Sa donne quoi ?

About Author

More Stories

Leave a Reply