Les inondations, ou des attaques par déni de service , tentent de submerger les ressources informatiques et les rendre disponibles pour les utilisateurs. Habituellement , les attaques ressources cibles bombarder les demandes de communication de sorte qu'ils ne peuvent pas répondre à la circulation authentique ou réagir si lentement qu'elles semblent indisponible. Cependant, vous pouvez créer un script Perl qui génère un flot de tester ressources en situation de stress . Vous pouvez inonder un protocole de datagramme utilisateur du port spécifique (UDP) sur une ressource cible soit avec des tailles de paquets fixes ou variables. Vous pouvez également générer un flot constant contrôlé en indiquant une bande passante cible ou délai inter -paquet. Choses que vous devez
texte éditeur
Afficher plus Instructions
1
définir les paramètres de ligne de commande que vous souhaitez utiliser. Par exemple, vous pouvez utiliser un paramètre de temps pour spécifier la durée de l'inondation. Si le paramètre est omis, l'inondation peut être continue. Un exemple d'utilisation de votre script Perl à la ligne de commande pourrait être la suivante :
flood.pl - port port - octets de taille - secondes de temps - kbps de bande passante - délai msec
< br > 2
Inclure «Socket », « Getopt :: Long " et " Time :: HiRes " modules Perl dans votre script. Le module " Socket " charge le C socket.h définit et manipulateurs de structure. Le module " Getopt :: Long " implémente la fonction GetOptions (). La fonction lit la ligne de commande du programme, cherche des arguments correspondant , et s'il est trouvé, définit l'option variable correspondant à true. Le " Time :: HiRes " module fournit du temps et compteurs de haute résolution , tels que le « gettimeofday " appel système. Par exemple:
utilisation Getopt :: Long ;
utilisation Socket
;
temps d'utilisation :: HiRes ;
3
déclarer les variables . Par exemple:
surNos $ port = 0;
surNos $ size = 0;
surNos $ time = 0;
surNos $ pc = 0 ;
notre retard $ = 0;
4
définir le type de vos variables déclarées . Par exemple:
GetOptions (produits " port = i "
=> \\ $ port # port UDP à utiliser
" size = i " => \\ $ => \\ $ time , time # exécutant taille , # taille de paquet
"bande passante = i " => \\ $ pc , # combien de bande passante à consommer
" time = i "
" delay = f"
=> \\ $ retard , retard #
5
code de commande par défaut des paramètres de ligne inter- paquets et l'utilisation. Par exemple , vous pouvez définir la taille du paquet 256 octets si le paramètre " bande passante " est utilisé sans le paramètre «taille» :
$ size = 256 $ si bw && $ de taille ;
6
comprennent l'impression à l' écran ce que fait le script . Par exemple:
print " inondations $ IP " . ($ $ portuaire du port : "random" ) . "port avec "
($ taille . ? ". $ taille - octet ": " taille aléatoire " ) "paquets" ($ temps " pour $ temps secondes" : ""). " \\ n";
< . ? br>