Översvämningar , eller denial -of - service- attacker , försöka överväldiga datorresurser och göra dem tillgängliga för användarna . Vanligtvis angriper bombardera mål resurser med kommunikation förfrågningar så att de inte kan svara på autentisk trafik eller reagerar så långsamt att de verkar otillgänglig . Men , kanske du vill skapa ett Perl-skript som genererar en flod för att testa resurserna under stress . Du kan översvämma en viss User Datagram Protocol ( UDP ) port på ett mål resurs med antingen fasta eller varierande paketstorlekar . Du kan också skapa en kontrollerad konstant översvämning genom att ange ett mål bandbredd eller inter - paketfördröjning . Saker du behöver
Textredigerare
Visa fler instruktioner
1
Definiera kommandoradsparametrarna som du vill använda . Till exempel kan du använda en tid parameter för att specificera giltighetstid för översvämningen . Om parametern utelämnas , skulle översvämningen vara kontinuerlig . Ett exempel användning av din Perl-skript på kommandoraden kan vara följande :
flood.pl - port port - storlek bytes - time sekunder - bandbredd kbps - fördröjning msek
2
Inkludera " Socket ", " getopt :: Long " och " Time :: HiRes " Perlmoduler i skriptet . Den " Socket " modulen laddar C socket.h definierar och manipulatorer struktur . Den " getopt :: Long " modul implementerar GetOptions ( ) funktionen . Funktionen läser linjen programmet kommandot , ser för att matcha argument , och om den påträffas , ställer motsvarande alternativ variabeln till true . Den " Time :: HiRes " modul ger hög upplösning tid och timers , såsom " gettimeofday " systemanrop . Till exempel :
användning getopt :: Lång ,
Använd hylsa ,
använder Time :: HiRes ,
3
Deklarera variablerna . Till exempel :
vår $ port = 0 ;
vår $ size = 0 ;
vår $ tid = 0;
vår $ bw = 0 ;
vår $ fördröjning = 0;
4
Ange typ för dina deklarerade variabler . Till exempel :
GetOptions (
" port = I " = > \\ $ port , # UDP port att använda
" size = I " = > \\ $ storlek , # paketstorleken
" bandbredd = i " = > \\ $ bw , # hur mycket bandbredd att konsumera
" tid = i " = > \\ $ tid , # gångtid
" fördröjning = f " = > \\ $ fördröjning , # inter - paketfördröjning
5
Code kommandoraden standard parametrar och användning . till exempel kan du ställa paketstorleken till 256 byte om " bandbredd " parameter används utan " storlek " parameter :
$ size = 256 om $ bw && $ storlek ,
6
omfattar utskrift till skärmen vad skriptet gör till exempel : .
print " Översvämning $ IP " . ( $ port $ port : ? " random " ) . " port med "
( $ storlek . ? . " $ size - byte " : " random storlek " ) " paket " ( $ tid " för $ gången sekunder " : ""). " \\ n"; Addera ditt < . ? br >