7 Diciembre, 2008
Algunos servicios proporcionados por empresas pueden ser ‘usados’ por otros sitios como si de sanguijuelas se tratara: buscadores más atractivos que en el fondo busca en otros buscadores es un claro ejemplo, competencia que está comprobando diariamente el contenido de nuestro portal para así ver los nuevos productos que ofrecemos y así poder diseñar una estrategia para mejorar su oferta…
Sólo son pequeños ejemplos de lo que se conoce como IP Abusing y supone un alto coste tecnológico pues se suele tratar de un uso intensivo de una infraestructura sin que ello aporte una ganancia (compras, contratación de servicios…). Sobre este tema podeis echarle este vistazo a este whitepaper de Anonymizer, muy interesante como introducción al problema del IP Abusing a nivel más general.
Supongamos que semanalmente sacamos estadísticas de las IPs que más han consultado nuestras webs y nos encontramos con un montón de IPs de origen en el top-ten. Con el siguiente script podemos obtener la información de RIPE para dichas IPs. Añade al principio de cada linea si dicha IP se encuentra ya en alguna de las listas definidas: black, white o grey. Básicamente este fichero de listas incluye aquellas que están revisadas y aceptadas (white list, con IPs de proveedores o bien las IPs internas de nuestra corporación), las que ya se detectaron en una revisión anterior y están bajo vigilancia (las grey) y las que ya se han bloqueado o pendientes de bloquear (black list).
Leer el resto de esta entrada »
Deja un Comentario » |
scripting |
Permalink
Escrito por kraigh
21 Octubre, 2008
Por lo general es sencillo encontrar las opciones de funcionamiento de un comando como find ejecutando un man find. De todas formas, en un par de casos, me he encontrado con un par de problemas que me ha costado un poco más encontrar, y dada mi memoria, los dejo aquí…
Leer el resto de esta entrada »
Deja un Comentario » |
scripting |
Permalink
Escrito por kraigh
15 Septiembre, 2008
Hasta hace un tiempo para poder hacer contadores usaba el comando bc para hacer la operación de suma. Esto tiene un coste computacional alto que podemos evitar si sabemos hacer operaciones matemáticas con bash.
Leer el resto de esta entrada »
Deja un Comentario » |
scripting |
Permalink
Escrito por kraigh
7 Septiembre, 2008
El uso de bucles for es muy habitual en scripting.
find . -name "*.gz" > /tmp/lista
for N in `cat /tmp/lista`
do
SALIDA=`gzip -dc $N | grep "X-Envelope-From:" | grep "@dominio.com"`
if [ -n "$SALIDA" ]; then
printf $N
echo $SALIDA | sed -e 's/X-Envelope-From: \<//g'
fi
done
El problema de for es que cada elemento se separa del siguiente por un espacio en blanco, tabulador, salto de linea… por ello si el listado fuera de archivos y hay elementos con espacio, tendremos problemas.
Por ello es mejor usar:
find . -name "*.gz" | while read N
do
SALIDA=`gzip -dc $N | grep "X-Envelope-From:" | grep "@dominio.com"`
if [ -n "$SALIDA" ]; then
printf $N
echo $SALIDA | sed -e 's/X-Envelope-From: \<//g'
fi
done
Deja un Comentario » |
scripting |
Permalink
Escrito por kraigh
3 Febrero, 2008
Normalmente cuando hacemos un bucle en shell scripting usamos un bloque for/do/done, pero el inconveniente que esto tienes es que for solo coge palabras y no lineas… es decir, si hacemos un listado de un directorio para aplicar una acción, si los archivos tienen algun espacio en blanco, for no es capaz de coger la linea entera sino que procesa la acción sobre cada una de las ‘palabras’.
La solución pasa por hacer un exec y a continuación un while read line:
exec < currentDefectsLog
while read line
do
echo $line
done
Deja un Comentario » |
scripting |
Permalink
Escrito por kraigh