¿Cómo consultar IP que más peticiones hacen a un servidor?

Podemosa hacer esto usando el siguiente comando:

cat tiendaonline.com.log | awk '{print $1}' | sort -n | uniq -c | sort -n | tail -n 20 | awk '{printf $1"    ";system("csf -i "$2)}'

Este pipeline realiza lo siguiente, paso a paso:

  1. cat tiendaonline.com.log
    Lee todo el contenido del fichero de log.
  2. awk '{print $1}'
    Extrae el primer campo de cada línea (normalmente la dirección IP del cliente).
  3. sort -n
    Ordena las IPs de forma numérica (para que las mismas queden agrupadas).
  4. uniq -c
    Cuenta cuántas veces aparece cada IP consecutivamente (produciendo líneas con: <veces> <IP>).
  5. sort -n
    Vuelve a ordenar esas líneas por el número de apariciones, de menor a mayor.
  6. tail -n 20
    Toma las 20 últimas líneas de esa lista, es decir, las 20 IPs que más peticiones han hecho (las de mayor recuento).
  7. awk '{ printf $1" "; system("csf -i "$2) }'
    Para cada una de esas 20 líneas:
    • Imprime el contador ($1) y unos espacios.
    • Ejecuta csf -i <IP> (comando de ConfigServer Firewall) para mostrar información detallada sobre esa IP (por ejemplo, si está bloqueada, su reputación, reglas aplicadas, etc.).

En resumen:
Extrae las 20 direcciones IP más activas del log tiendaonline.com.log, muestra cuántas peticiones ha hecho cada una y, acto seguido, invoca csf -i para consultar el estado o detalles de configuración del firewall para cada IP.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *