Inundações , ou ataques de negação de serviço - , tentativa de sobrecarregar os recursos do computador e torná-los disponíveis para os usuários. Normalmente , os ataques bombardear recursos de destino com pedidos de comunicação , de modo que eles não podem responder ao tráfego autêntica ou responder tão lentamente que eles parecem indisponíveis. No entanto, você pode querer criar um script Perl que gera uma enxurrada de recursos de teste sob estresse. Você pode inundar uma porta específica User Datagram Protocol (UDP) em um recurso de destino com tamanhos de pacotes ou fixos ou variáveis. Você também pode gerar uma enxurrada constante controlada , indicando uma largura de banda de destino ou atraso entre pacotes. Coisas que você precisa
editor de texto
Show Mais instruções
1
Defina os parâmetros de linha de comando que você deseja usar. Por exemplo, você poderia usar um parâmetro de tempo para especificar a duração da inundação. Se o parâmetro for omitido, o dilúvio poderia ser contínua. Um exemplo de uso do seu script Perl na linha de comando pode ser a seguinte :
flood.pl - bytes de tamanho - - port porta segundo tempo - kbps de largura de banda - atraso ms
< br > 2
Incluir o " soquete ", " Getopt :: Long " e "Time :: HiRes " módulos Perl em seu script. O módulo " soquete " carrega o C socket.h define e estrutura manipuladores. O módulo " Getopt :: Long " implementa as GetOptions () função. A função lê a linha de comando do programa , procura argumentos correspondentes , e , se for encontrado , define a variável de opção correspondente à verdade. O módulo "Time :: HiRes " oferece tempo e temporizadores , como o " gettimeofday " chamada de sistema de alta resolução. Por exemplo :
usar Getopt :: Long ;
usar soquete ;
usar Tempo :: HiRes ;
3
Declare as variáveis . Por exemplo :
nosso $ port = 0;
nosso $ size = 0;
nosso $ time = 0;
nosso $ bw = 0 ;
nosso $ delay = 0;
4
Defina o tipo para suas variáveis declaradas . Por exemplo :
GetOptions (
" port = i" => \\ $ porta , # porta UDP para usar
" size = i" => \\ $ tamanho , tamanho # pacote
"largura de banda = i " => \\ $ bw, # quanta largura de banda a consumir
" tempo = i " = > \\ $ time , # tempo de funcionamento
" delay = f" => \\ $ delay, # inter-packet atraso
5 de linha de comando padrões e parâmetros
código de uso . Por exemplo , você pode definir o tamanho do pacote 256 bytes se o parâmetro "largura de banda " é usada sem o "tamanho" parâmetro :
$ size = 256 if $ pc && $ tamanho ;
6
Incluir a impressão para a tela o que o script está fazendo Por exemplo : .
print " Inundações $ IP" ( $ porta $ porta : "random" ) "Porto com "
( $ size . . . ? . . ? "$ tamanho bytes ": " aleatório tamanho ") " pacotes " ( $ time " para $ time segundos ": "" ). "\\ n" ;