| 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | << diciembre >> | << 2003 >> |
DEC
16
16 de December de 2003 a las 00:00| Archivado en General
Escuchando: nada, en la ofi | Animo: expresivo y regular
Es una gilipondriez como uan casa, pero me parece interesante:
A partir de X ficheros .log (de Microsoft IIS), obtener una lista con las ips que se coenctan, sin repetir ips, y ordenada.
cat *.log | awk '{ print $3 }' | sort | uniq | egrep '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort > listado_por_ips.txt
A partir de X ficheros .log (de Microsoft IIS), obtener una lista con las ips que se coenctan, sin repetir ips, y ordenada.
cat *.log | awk '{ print $3 }' | sort | uniq | egrep '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort > listado_por_ips.txt
- cat *.log coge un monton de ficheros de texto y los convierte en uno muy largo (concatena)
- awk '{ print $3 }' imprime el tercer campo de cada linea (que deberia ser la ip si los logs de microsoft tuvieran una estructura decente
- sort ordena todas esas lineas (deberian ser en su mayoria ips repetidas) de menor a mayor
- uniq elimina las lineas que se repiten (a condicion de que sean consecutivas)
- egrep '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' busca las lineas que contengan 4 grupos de numeros separados por puntos y tira las demas (esto sirve para eliminar basura de los logs de IIS>
- sort ordena el resultado final
- > listado_por_ips.txt reenvia el resultado a un fichero de texto. Se puede quitar y saldria por pantalla.
Por zor

