para evitar eso tenemos la facilidad (en Linux, MAC y Windows) de editar el archivo hosts que le indica al sistema cual es la IP de los hosts listados en ese archivo.
difiere el lugar donde se encuentra el mismo, por lo que solo voy a explicar cómo hacerlo en linux
creamos un script con este contenido:
#!/bin/bash -x
# si es la primera vez, hacemos una copia de nuestro /etc/hosts
ls /etc/hosts.old &> /dev/null
if [ $? -ne 0 ]; then
cp /etc/hosts /etc/hosts.old
fi
# comprobamos con curl si el documento se modifico en el servidor
OLD="Nov"
NEW=`curl -sI http://winhelp2002.mvps.org/hosts.txt| grep Last-Modified|awk '{print $4}'`
if [ $OLD != $NEW ]; then
wget http://winhelp2002.mvps.org/hosts.txt -O /root/hosts.txt
cp /etc/hosts.old /etc/hosts
cat /root/hosts.txt|uniq >> /etc/hosts
# actualizamos la variable OLD si cambió
sed -i.back "8s/OLD=${OLD}/OLD=${NEW}/" /root/addblock.sh
else
echo " el archivo no se modifico"
fi
exit
como se puede observar estamos bajando un archivo que periodicamente se actualiza de servidores que se utilizan para emitir publicidad. Los mismos son signados a una IP general que no lleva a ningún lugar
Con curl comprobamos si el archivo fue modificado, si es asi lo bajamos y actualizamos nuestro /etc/hosts
con sed modificamos el valor de comparación para la variable de la fecha del archivo
Finalmente automatizamos la tarea creando una entrada para el cron:
ln -s addblock.sh /etc/cron.monthly/