Tecnología

Inicio

Cómo hacer un script de inundación

Cómo hacer un script de inundación


Inundaciones, o ataques de denegación de servicio, intentan desbordar los recursos de equipos y hacer que no estén disponibles para los usuarios. Por lo general, los ataques de los recursos de destino bombardean con solicitudes de comunicación de modo 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 para poner a prueba los recursos bajo estrés. Puede inundar un puerto específico User Datagram Protocol (UDP) en un recurso de destino, ya sea con tamaños de paquetes fijos o variables. También puede generar un flujo constante controlada mediante la indicación de un retraso de ancho de banda de destino o entre paquetes.

Instrucciones

1 Definir los parámetros de línea de comandos que desee utilizar. Por ejemplo, se puede usar un parámetro de tiempo para especificar la duración de la inundación. Si se omite el parámetro, la inundación podría ser continua. Un ejemplo de uso de su script de Perl en la línea de comandos podría ser la siguiente:

flood.pl puerto --port --size bytes --time segundos kbps --bandwidth ms --delay

2 Incluir el "Getopt módulos :: larga" y "Time :: HiRes" Perl en su guión "Socket". El módulo "Socket" define la carga C socket.h y manipuladores de estructuras. El módulo "Getopt :: Long" 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 variable correspondiente opción en true. El módulo de "Time :: HiRes" ofrece una alta resolución de tiempo y contadores de tiempo, tales como la llamada del sistema "gettimeofday". Por ejemplo:

utilizar Getopt :: larga;

Utilice el zócalo;

el uso del tiempo :: HiRes;

3 Declarar las variables. Por ejemplo:

$ nuestro puerto = 0;

nuestra $ size = 0;

$ nuestro tiempo = 0;

nuestra $ BW = 0;

nuestra $ delay = 0;

4 Definir el tipo de las variables declaradas. Por ejemplo:

(getOptions

"port=i" => \$port, # UDP port to use

"Size = i" => \ $ tamaño, el tamaño de paquete #

"Ancho de banda = i" => \ $ de peso corporal, # cuánto ancho de banda para consumir

"Tiempo = i" => \ $ tiempo, el tiempo de funcionamiento #

"Retardo = f" => \ $ demora, # retardo entre paquetes

5 Código de comando por defecto de parámetros de línea y el uso. Por ejemplo, puede establecer el tamaño de paquete de 256 bytes si el parámetro "ancho de banda" se utiliza sin el parámetro "tamaño":

Size = $ 256 $ si pc $ && tamaño!;

6 Incluir la impresión de la pantalla lo que el guión está haciendo. Por ejemplo:

imprimir "Las inundaciones $ IP". (? Puerto de puerto $ $: "aleatorio"). "Puerto".

($ Tamaño "$ tamaño de byte": "el tamaño al azar"). "paquetes". ($ Time "por $ segundos de tiempo": ""). "\norte";