Código:
#Script escrito integramente por Hendrix *
#******************************************
#
#
use IO::Socket;
system("cls");
system ("color 18");
system ("title Escaner de IP's aleatorias by Hendrix");
print "Bienvenidos al escaneador de IP's de Hendrix\n";
print " \n";
sleep 3;
#*************** Menu *********************************
menu:;
system("cls");
print "Elige una opcion:\n";
print " \n";
print "1. Escanear una IP con rango de puertos\n";
print "2. Escanear una IP aleatoria con rango de puertos\n";
print "3. Escanear Netbios\n";
print "4. Ver tu IP\n";
print "5. Salir\n";
$opcion=<STDIN>;
if ($opcion!=1 && $opcion!=2 && $opcion!=3 && $opcion!=4 && $opcion!=5) {
print "Introduce un valor que este entre lso numeros que hay en el menu\n";
print " \n";
print "Pulsa intro para continuar\n";
$res=<STDIN>;
goto menu;
}
if ($opcion==1) {
&primero
}
if ($opcion==2) {
&dos
}
if ($opcion==3) {
&tres
}
if ($opcion==4) {
&cinco
}
if ($opcion==5) {
&sis
}
#*************** Sub Primero *********************************
sub primero {
print "Introduce la IP: ";
$ip=<STDIN>;
chop $ip;
@ver = split(/\./,$ip);
if ($ver[0]>255) {
print "Los numeros de la IP no pueden superar el numero 255\n";
sleep 2;
goto menu;
}
if ($ver[1]>255) {
print "Los numeros de la IP no pueden superar el numero 255\n";
sleep 2;
goto menu;
}
if ($ver[2]>255) {
print "Los numeros de la IP no pueden superar el numero 255\n";
sleep 2;
goto menu;
}
if ($ver[3]>255) {
print "Los numeros de la IP no pueden superar el numero 255\n";
sleep 2;
goto menu;
}
print "Introduce el puerto de inicio: ";
$pini=<STDIN>;
chop $pipi;
print "Introduce el puerto final: ";
$pfin=<STDIN>;
chop $pfin;
print " \n";
&scaner;
}
#*************** Sub Cinco *********************************
sub cinco {
system("ipconfig > ip.txt");
open (doc, "ip.txt");
@lineas = <doc>;
$var=join("\n", grep { /Direcci/ } @lineas);
@ver= split(":", $var);
print "Tu direccion IP:$ver[1]\n";
close(doc);
system ("del /F /Q ip.txt");
print "Pulsa intro para continuar\n";
$res=<STDIN>;
goto menu;
}
#*************** Sub Dos *********************************
sub dos {
system ("cls");
$ip1=int(rand(255));
$ip2=int(rand(255));
$ip3=int(rand(255));
$ip4=int(rand(255));
$ip="$ip1.$ip2.$ip3.$ip4\n";
chomp $ip;
print "Se escaneara esta IP: $ip\n";
print " \n";
print "Introduce el puerto de inicio: ";
$pini=<STDIN>;
chop $pipi;
print "Introduce el puerto final: ";
$pfin=<STDIN>;
chop $pfin;
print " \n";
&scaner;
}
#*************** Sub Scaner *********************************
sub scaner {
for ($poberts=$pini;$poberts<=$pfin;$poberts++)
{
print "Escaneando puerto $poberts\n";
print " \n";
$sock = IO::Socket::INET->new(PeerAddr => $ip, PeerPort => "$poberts", Proto => 'tcp');
if ($sock) {
chomp $poberts;
print "- La IP $ip tiene el Puerto $poberts Abierto\n";
print " \n";
}
}
print "Finalizada la busqueda, pulsa intro para salir\n";
$res=<STDIN>;
goto menu;
}
#*************** Sub Tres *********************************
sub tres {
print "Introduce la IP: ";
$ip=<STDIN>;
chop $ip;
@ver = split(/\./,$ip);
if ($ver[0]>255) {
print "Los numeros de la IP no pueden superar el numero 255\n";
sleep 2;
goto menu;
}
if ($ver[1]>255) {
print "Los numeros de la IP no pueden superar el numero 255\n";
sleep 2;
goto menu;
}
if ($ver[2]>255) {
print "Los numeros de la IP no pueden superar el numero 255\n";
sleep 2;
goto menu;
}
if ($ver[3]>255) {
print "Los numeros de la IP no pueden superar el numero 255\n";
sleep 2;
goto menu;
}
print " \n";
print "Intentando NetBios\n";
system ("nbtstat -A $ip");
print " \n";
print "Pulsa intro para volver al menu\n";
$res=<STDIN>;
goto menu;
}
#*************** Sub Sis *********************************
sub sis {
system ("cls");
system ("color 0C");
print " \n";
print " \n";
print " \n";
print " \n";
print " \n";
print " \n";
print " \n";
print " \n";
print " *************************************************************\n";
print " * *\n";
print " * *\n";
print " * Escaner de IP's escrito en Perl por Hendrix *\n";
print " * *\n";
print " * *\n";
print " *************************************************************\n";
sleep 3;
}
que els parece???
Funciona bastatne bien, yo tengo router y me detecto unos kuantos agujeros....xD xD xD voy a cerrar puertos....
Agur!!
Editado:
Alguien me puede dar algun soft para pasar los scripts de Perl a .exe???
Los modulos (yo e usado el de Sockets) se tienen que incluir en el ejectuable o ya vienen con Win???
Si ya vienen me are yo el compilador....
Salu2