Script : ~/bin/ip_livebox_du_jour.sh
################ Début script bash ####################
#! /bin/bash
# Description : permet de récupérer l'IP publique de la livebox Sagem (2011)
# à chaque ouverture d'un terminal et de la consigner dans ~/${rep}/${fichier_ip}
# à condition d'appeler ce script depuis ~/.bashrc ( ce que je fais en tout cas)
# VOIR host livebox
# page lb http://livebox/supportSystemInformationInternet.html
if ! ping -q -c1 -W1 livebox >/dev/null 2>&1; then
echo "pas de connexion à livebox" >&2
exit 1
fi
fichier_ip="ip_du_jour.txt"
rep="livebox"
date_jour=$(date +%F)
mkdir ~/${rep} 2>/dev/null
#ip=$(wget -q -O - http://livebox/index.cgi | grep -i -A1 'ip wan' | tail -1 | sed 's|^.*>\(.*\)</td>$|\1|')
ip=$(curl -s -X POST -H "Content-Type: application/json" -d '{"parameters":{}}' http://192.168.1.1/sysbus/NMC:getWANStatus | sed -e 's/.*"IPAddress":"\(.*\)","Remo.*/\1/g')
# cette ligne de cde vient de là :
# http://communaute.orange.fr/t5/ma-connexion/Recup%C3%A9ration-de-l-IP-WAN-d-une-Livebox-Play-noire/m-p/227233#M18838
if ! echo "$ip" | grep -qE '^([[:digit:]]+\.){3}[[:digit:]]+$'; then
echo "Il y a un pb avec le script $0" >&2
exit 2
fi
echo -e "IP publique\\t$ip"
derniere_ip=$(tail -1 ~/${rep}/${fichier_ip} 2>/dev/null | sed 's/^.*[[:blank:]]\+//')
[ "$derniere_ip" = "$ip" ] && exit 0
echo -e "$date_jour\\t$ip" >> ~/${rep}/${fichier_ip}
################ Fin du script bash ###################
Résultat de 7 ans de consignation de l' IP publique de la Livebox, en masquant les 2 premiers octets de l'adresse IP par tvu.xyz. avec cette commande sed de mort ! :-) Genre de commande SED à éviter car ce n'est pas maintenable, franchement ! ...
seb@Speedi5:~$ cat -n ~/livebox/ip_du_jour.txt|sed -e 's/\(^.\+\t\)\([[:digit:]]\{2\}\..\+\.\)\([[:digit:]]\+\.[[:digit:]]\+$\)/\1tuv.xyz.\3/' |less
1 2011-07-17 tuv.xyz.44.45
2 2011-07-18 tuv.xyz.173.79
3 2011-07-19 tuv.xyz.25.147
4 2011-07-20 tuv.xyz.164.60
5 2011-07-22 tuv.xyz.23.198
6 2011-07-23 tuv.xyz.28.102
7 2011-07-24 tuv.xyz.14.92
8 2011-07-25 tuv.xyz.36.210
9 2011-07-26 tuv.xyz.169.3
10 2011-07-27 tuv.xyz.179.42