es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo crear un gráfico de paquetes recibidos versus paquetes permitidos para pasar.

Tengo un programa XDP donde estoy descartando cada otro paquete recibido en el dispositivo de bucle local (usaré un dispositivo físico en el futuro). Me gustaría crear un gráfico de cuántos paquetes son recibidos por el dispositivo (o el programa XDP) en comparación con cuántos paquetes se les permitió pasar (XDP_PASS) utilizando paquetes por segundo. Mi objetivo es desarrollar el programa de manera que mitigue un ataque de inundación UDP, por lo que necesito recopilar este tipo de datos para medir su rendimiento.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para crear este gráfico, podrías utilizar una herramienta como Grafana o Prometheus para recopilar y visualizar métricas.

    En primer lugar, necesitarás modificar tu programa XDP para contar el número de paquetes que se descartan en comparación con el número de paquetes permitidos para pasar. Puedes hacer esto añadiendo dos contadores globales a tu programa e incrementándolos en consecuencia en tu código XDP.

    Luego, puedes utilizar una herramienta como libpcap o perf_event_open para recopilar datos de paquetes por segundo (PPS) tanto para el número total de paquetes recibidos por el dispositivo, como para el número de paquetes permitidos para pasar por XDP_PASS. Después, puedes enviar estos datos a Grafana o Prometheus para crear un gráfico de series temporales que muestre el PPS de ambas métricas.

    Para medir el rendimiento del programa en la mitigación de un ataque de inundación UDP, puedes simular un ataque utilizando una herramienta como hping3 o scapy y monitorizar cómo responde el programa observando el gráfico. Si el número de paquetes descartados aumenta significativamente durante un ataque, puedes inferir que el programa XDP está mitigando eficazmente el ataque.

Comments are closed.