A tu propio ritmo

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Buscar en lecciones


IngresarEmpezar

Regístrate en 4Geeks

← Volver a Proyectos

Ejemplo de simulación de trafico en WordPress usando Apache Benchmark

Dificultad

  • intermediate

Duración promedio

2 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

2 hrs

Tecnologías

Este proyecto tiene como objetivo generar tráfico artificial desde una máquina Kali Linux hacia un sitio web alojado en un servidor Debian, utilizando la herramienta Apache Benchmark (ab). Además, se implementarán herramientas de monitoreo en el servidor para detectar las oleadas de peticiones y evaluar su desempeño.

🌱 ¿Cómo empezar este proyecto?

Instalación local:

No clones ningún repositorio, solo sigue las siguientes instrucciones:

Requisitos

Para llevar a cabo este proyecto vamos a necesitar 2 maquinas virtuales. Una de ellas será la maquina virtual de debian donde construimos el sitio web de wordpress anteriormente y la otra la maquina atacante con kali.

  • Oracle VirtualBox
  • Máquina virtual con Kali Linux (Atacante): Para generar el tráfico.
  • Máquina virtual con Debian (Servidor Web): Donde tenemos alojado el servidor Apache y el sitio WordPress.

📝 Instrucciones

Paso 1: Configurar la Red en VirtualBox

Configurar la Red de la Máquina Debian (Servidor Web)

Configurar la Red de la Máquina Kali Linux (Atacante)

Configurar maquina virtual

Paso 2: Obtener la Dirección IP de las Máquinas para poderlas conectar entre sí.

Con "Bridged Adapter" configurado, las máquinas deberían obtener automáticamente una dirección IP de su router o del servidor DHCP de la red.

En la Máquina Debian (Servidor Web):

Busca la sección correspondiente a tu interfaz de red (usualmente eth0 o enp0s3) y encuentra la línea que dice inet. Ahí verás la dirección IP asignada, algo como 192.168.1.x.

En la Máquina Kali Linux (Atacante)

Busca la sección correspondiente a tu interfaz de red (usualmente eth0 o enp0s3) y encuentra la línea que dice inet. Ahí verás la dirección IP asignada, algo como 192.168.1.x.

PASO 3: Verificar la Conexión Entre las Máquinas

Desde la Máquina Kali Linux (Atacante)

1$ ping <IP_debian>

Reemplaza <IP_debian> con la dirección IP que obtuviste para la máquina Debian.

Desde la Máquina Debian (Servidor Web)

1$ ping <IP_kali>

Reemplaza <IP_kali> con la dirección IP que obtuviste para la máquina Kali.

Ejemplo gráfico de cómo se ven los ping al estar conectados verificación de conexión entre las maquinas virtuales

PASO 4: Simular Tráfico en el Sitio Web

En la Máquina Kali Linux (Atacante)

Usaremos como herramienta ab (Apache Benchmark) para generar tráfico en el sitio web.

Instalación y Uso de Apache Benchmark

Apache Benchmark (ab) es una herramienta que permite generar tráfico de prueba hacia un servidor web. Sigue estos pasos para instalar y usar AB desde Kali Linux:

  1. Instalación de Apache Benchmark
1$ sudo apt-get update 2$ sudo apt-get install apache2-utils
  1. Generar Tráfico hacia el Sitio Web
1$ ab -n 1000 -c 10 http://<IP_debian>/

El comando ab -n 1000 -c 10 http://<IP_debian>/ hará que Apache Bench envíe 1000 peticiones HTTP al servidor web en la dirección http://<IP_debian>/, con 10 peticiones realizándose al mismo tiempo, simulando 10 usuarios concurrentes accediendo al servidor.

NOTA: Reemplaza <IP_debian> con la dirección IP del servidor Debian.

Paso 5: Monitoreo del Desempeño del Servidor

En el servidor Debian, vamos a instalar herramientas de monitoreo como htop para observar el desempeño durante las pruebas.

Instalación de htop

1$ sudo apt-get update 2$ sudo apt-get install htop

Monitoreo en Tiempo Real con htop

htop es una herramienta interactiva de monitoreo de procesos que proporciona una visión detallada del uso de recursos del sistema.

1$ htop

Veras algo como esto: monitoreo con htop

  • CPU Usage (Uso de CPU): Muestra el uso de la CPU en tiempo real, generalmente dividido en barras que representan cada núcleo de la CPU.
  • Memory Usage (Uso de Memoria): Muestra el uso de la memoria RAM y swap.
  • Tasks (Tareas/Procesos): Lista de procesos activos, con detalles como el PID, usuario, uso de CPU y memoria tiempo de ejecución, y el comando que inició el proceso.
  • Load Average (Carga Media): Muestra el promedio de carga del sistema en los últimos 1, 5 y 15 minutos.
  • Uptime (Tiempo de Actividad): Indica cuánto tiempo ha estado funcionando el sistema desde el último reinicio.

Entrega de proyecto

En el repositorio que se ha clonado debes entregar 2 informes.

1$ ab -n 5000 -c 200 http://<IP_debian>/ > reporte_ab.txt

Copia estas lineas en el archivo report_htop.txt y llena lo que corresponda.

1 observations: 2 evaluation_if_server_could_handle_load: 3 - performance_metrics: 4 - stable_memory: # Aquí puedes poner con cuantas solicitudes por segundo mantuvo una memoria estable 5 - cpu_load_average: # Aquí puedes poner qué porcentaje de carga promedio mantuvo el CPU 6 7 specification_of_excessive_resource_usage: 8 - cpu_peak_usage: 9 - observed: true # Indica si se observaste un pico de uso de CPU del 90% durante los primeros minutos de carga máxima (el valor seria true o false) 10 - peak_percentage: 90 11 - request_count_at_peak: 12 - value: # Aquí puedes poner el número específico de peticiones con el que se hizo el pico 13

Regístrate para obtener acceso a proyectos similares

Lo usaremos para darte acceso a la comunidad.
¿Ya tienes una cuenta? Inicia sesión aquí.

Dificultad

  • intermediate

Duración promedio

2 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

2 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

2 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

2 hrs

Tecnologías

Regístrate para obtener acceso a proyectos similares

Lo usaremos para darte acceso a la comunidad.
¿Ya tienes una cuenta? Inicia sesión aquí.

Dificultad

  • intermediate

Duración promedio

2 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

2 hrs

Tecnologías