Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Hendrix en 7 Septiembre 2006, 13:05 pm



Título: Escaner IP by Me
Publicado por: Hendrix en 7 Septiembre 2006, 13:05 pm
Ayer empece kon este lenguaje y me enganche.....es facilisimo de aprender, miren lo que e echo hoy:

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



Título: Re: Escaner IP by Me
Publicado por: T1g3r en 7 Septiembre 2006, 18:40 pm
 Me gusto... esta bueno, aunque este en perl... lo unico que no me gusto es esto:


"Introduce un valor que este entre lso numeros que hay en el menu\n";

cambiale el lso por los y queda perfecto :P


Título: Re: Escaner IP by Me
Publicado por: zickox en 8 Septiembre 2006, 03:03 am
hey! esta muy bueno...
solo un detalle que pusiste mal una variable al intentar kitarle el enter kon el chop especifikamente esta parte del kode
$pini=<STDIN>;
chop $pipi;
pusiste pipi en vez de pini xD
sobre pasar los script a exe aka tienes un programa (asumiendo que usas windows)
http://www.indigostar.com/download/p2x-8.80-Win32.zip
los modulos los tendras que incluir en el exe ya que no forman parte de windows  :P

salu2

PD: muy bueno el tuto de ddiego xD


Título: Re: Escaner IP by Me
Publicado por: BenRu en 8 Septiembre 2006, 03:31 am
Si no recuerdo mal...hiciste uno en batch...no?

Perl es muy facil...

Te recomiendo que el nombre de las variables pongas nombres que tengan que ver con la funcion que desempeñan...no con cosas al hacer como wini, pini, chipiwini xD


Título: Re: Escaner IP by Me
Publicado por: zickox en 8 Septiembre 2006, 03:41 am
Te recomiendo que el nombre de las variables pongas nombres que tengan que ver con la funcion que desempeñan...no con cosas al hacer como wini, pini, chipiwini xD

desde mi parecer si le pone los nombres correctos
p = puerto
ini = inicial
pini = puerto inicial

p = puerto
fin = final
pfin = puerto final

 :P

salu2


Título: Re: Escaner IP by Me
Publicado por: Hendrix en 8 Septiembre 2006, 14:49 pm
Te recomiendo que el nombre de las variables pongas nombres que tengan que ver con la funcion que desempeñan...no con cosas al hacer como wini, pini, chipiwini xD

desde mi parecer si le pone los nombres correctos
p = puerto
ini = inicial
pini = puerto inicial

p = puerto
fin = final
pfin = puerto final

 :P

salu2

xD xD xD xD exacto, es asi.... ;D ;D ;D

Citar
PD: muy bueno el tuto de ddiego xD

Seps, me base en esto, aunke komo dice Benru, ya hice uno en Batch y lo "traduci" a Perl.

Salu2 y Gracias.... ;) ;)



Título: Re: Escaner IP by Me
Publicado por: BenRu en 9 Septiembre 2006, 02:44 am
Cierto cierto, en este code estan bien...pero en otros pones cosas como cirrosis xDDD...



Título: Re: Escaner IP by Me
Publicado por: Hendrix en 9 Septiembre 2006, 13:10 pm
Cierto cierto, en este code estan bien...pero en otros pones cosas como cirrosis xDDD...

xD xD xD no es cirrosis, es zirrosis, un grupo punk español...simplemente pongo esto para no poner los tipicos a,b,c,d....ademas, no son variabvles, eso eran puntos de error.... ;) ;)

Salu2