Escaner IP by Me

Iniciado por Hendrix, 7 Septiembre 2006, 13:05 PM

0 Miembros y 1 Visitante están viendo este tema.

Hendrix

Ayer empece kon este lenguaje y me enganche.....es facilisimo de aprender, miren lo que e echo hoy:

#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

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

T1g3r

 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

zickox

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

BenRu

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

zickox

Cita de: BenRu en  8 Septiembre 2006, 03:31 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

Hendrix

Cita de: zickox en  8 Septiembre 2006, 03:41 AM
Cita de: BenRu en  8 Septiembre 2006, 03:31 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

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

CitarPD: 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.... ;) ;)

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

BenRu

Cierto cierto, en este code estan bien...pero en otros pones cosas como cirrosis xDDD...


Hendrix

Cita de: BenRu en  9 Septiembre 2006, 02:44 AM
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

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián