Inundaciones, o ataques de denegación de servicio , tratar de abrumar a los recursos del equipo y hacer que no estén disponibles para los usuarios. Por lo general , los ataques de los recursos de destino bombardear con solicitudes de comunicación a fin de que no pueden responder al tráfico auténtico o responder tan lentamente que parecen no disponible . Sin embargo , es posible que desee crear un script en Perl que genera una inundación a prueba los recursos bajo estrés. Usted puede inundar un Protocolo de datagramas (UDP ) puerto específico del usuario en un recurso de destino , ya sea con tamaños de paquetes fijos o variables . También puede generar un flujo constante controlada por lo que indica un ancho de banda de destino o el retraso entre paquetes . Cosas que necesitará editor de texto
Mostrar más instrucciones
1
Definir los parámetros de línea de comandos que desea utilizar. Por ejemplo , podría usar un parámetro de tiempo para especificar la duración de la inundación. Si se omite el parámetro , la inundación puede ser continua. Un ejemplo del uso de la secuencia de comandos Perl en la línea de comando podría ser el siguiente :
flood.pl - port puerto - size bytes - time segundos - kbps de ancho de banda - retardo ms
< br > 2
Incluir el " zócalo ", " Getopt :: Long" y "Time :: HiRes " módulos Perl en el script . El módulo de " Socket " carga el C socket.h define y estructura manipuladores . El " Getopt :: Long" módulo implementa la función getOptions (). La función lee la línea de comandos del programa, busca argumentos a juego , y si lo encuentra, establece la opción correspondiente en true . El "Time :: HiRes " módulo proporciona tiempo y contadores de tiempo de alta resolución, como la llamada al sistema " gettimeofday " . Por ejemplo :
uso Getopt :: Largo ;
Socket uso ;
Tiempo de servicio :: HiRes ;
3
Declarar las variables . Por ejemplo :
nuestra $ port = 0 ;
nuestra $ size = 0 ;
nuestra $ tiempo = 0 ;
nuestra $ pc = 0 ;
nuestra $ delay = 0 ;
4
Definir el tipo de las variables declaradas. Por ejemplo :
getOptions
(
" port = i"
= > \\ $ puerto , # puerto UDP utilizar
" size = i" = > \\ $ tamaño, tamaño #
"ancho de banda = i" paquete = > \\ $ bw, # cuánto ancho de banda que consumen
" tiempo = i" = > \\ $ , tiempo de ejecución #
" delay = f " = > \\ $ retardo , retardo #
5
código de comando por defecto de parámetros de línea entre paquetes y el uso. Por ejemplo , usted puede configurar el tamaño del paquete 256 bytes si el parámetro "ancho de banda " se utiliza sin el parámetro "tamaño" :
$ size = 256 si $ && $ bw tamaño ;
6
incluyen la impresión a la pantalla de lo que el guión está haciendo , por ejemplo : .
print " Inundación $ IP " . ( $ port $ port : "al azar ") . "puerto "
( $ size . ? . "$ size- byte ": " tamaño al azar ") "paquetes" ($ time " por $ tiempo segundos ": " "). " \\ n " ;
. < ? br>