Jeśli masz router z uruchomionym DD-WRT i masz stronę statusu używaną podczas przechodzenia do routera, możesz, za pomocą skryptu ... wget stronę statusu, cat dla adresu ip i zapisać go do plik do porównania, wyślij wiadomość e-mail, gdy zmieni się najnowszy adres IP wget z pliku porównywalnego.
Używam programu dd-wrt na routerze linksys wrt54g i używam tego skryptu: Wgetuje stronę statusu routera z 192.168.3.1, używa kota na stronie (index.html) i greps dla adresu wan ip , a następnie zapisuje go do pliku (gotip.txt).
Dokonano porównania przechwyconego pliku ip (gotip.txt) z bieżącym działającym plikiem ip (workingip.txt). Jeśli adresy IP są różne, otrzymuję wiadomość e-mail wysłaną pocztą elektroniczną nowego adresu IP, a nowy działający adres IP jest zapisywany w pliku workingip.txt.
Cron uruchomić ten co 5 minut lub tak i mam wyjście cron wyciszony do/dev/null
#!/bin/bash
getip=$(wget http://192.168.3.1/)
cat index.html | grep "wan_ipaddr" > gotip.txt
gotip=$(cat gotip.txt)
compare=$(cat workingip.txt)
if [[ "$compare" != "$gotip" ]]
then
EMAIL="[email protected]"
EMAILMESSAGE="/home/pi/ipmessage.txt"
echo "ip address is now $gotip" >> $EMAILMESSAGE
/usr/sbin/sendmail -t "$EMAIL" < $EMAILMESSAGE
rm ipmessage.txt
cp gotip.txt workingip.txt
rm index.html
else
echo "done"
rm index.html
fi
Jak szybko chciałbyś wiedzieć? Czy to wystarczająco długo, aby jakiś głosowanie było do przyjęcia? (Nie to polecam odpytywanie jeśli właściwe zgłoszenie jest dostępny) –
http://stackoverflow.com/questions/8542253/how-to-get-notified-for-ip-address-changes-automatically – LtWorf