Viperdoom
09-04-2009, 03:00
Bueno gente, soy nuevo en el foro... y como para arrancar se me ocurrio compartir un programita en perl que me hice para acelerar el calculo de una IP cuando esta en base 256 ... por ejemplo cuando estamos jugando ;-D con algun protocolo ... se me ocurre ahora el dcc...
bueno.... no los aburro mas con mis palabras y los dejo con el codigo!... seguro que hay mil y una forma para mejorarlos ... si alguien tiene tiempo y lo hace... bueno... mandeme una copia por mp o al mail.
#Este codigo fue realizado para no tener que hacer calculos cuando estamos
#realizando una operacion con conecciones y se nos devuelve una ip
#codificada; como es el caso del protocolo DCC ( motivo por el cual se penso en el programa ;-) ).
#
#Se concede permiso para copiar, distribuir o modificar este programa según las condiciones de la GNU Free Documentation License (GFDL),
#(cualquier) versión publicada por la Free Software Foundation.
#
system clear;
print " --------------------------------------------------------------\n";
print "| |\n";
print "| ~ Decodificador de IPs Codificadas en base 256 ~ |\n";
print "| |\n";
print "| |\n";
print "| by: Viper Doom|\n";
print "| |\n";
print "| ~ Se concede permiso para copiar, distribuir o modificar este|\n";
print "| programa según las condiciones de la GNU Free Documentation |\n";
print "|License (GFDL),(cualquier) versión publicada por la Free Softw|\n";
print "|are Foundation. ~ |\n";
print "| |\n";
print "| |\n";
print " --------------------------------------------------------------\n";
print "\n";
#Ingresamos la ip codificada
print "Ingrese ip a decodificar: ";
#Sacamos la primer parte de la ip codificada
$maxnumshow = 4294967296;
$maxnum = ((4294967296/1000000000)-4);
$primtodec = (int(<stdin>));
while ((($primtodec/1000000000)-4) ge $maxnum){
print "\nImposible decodificar ip; esta seguro de que ha ingresado correctamente?";
print "\nNumero maximo posible = $maxnumshow; decodificado = 255.255.255.255\n";
print "\nVuelva a ingresar la ip codificada a modificar :";
$primtodec = <stdin>;
}
$ipprimpart = int($primtodec / (256*256*256));
#Sacamos la segunda parte de la ip codificada
$segtodec = $primtodec - ($ipprimpart *(256*256*256));
$ipsegpart = int ($segtodec / (256*256));
#Sacamos la tercer parte de la ip codificada
$tertodec = $segtodec - ($ipsegpart * (256*256));
$ipterpart = int ($tertodec / (256));
#Sacamos la cuarta parte de la ip codificada
$cuartodec = $tertodec - ($ipterpart * 256);
$ipcuarpart = int($cuartodec / 1);
#imprimimos la ip en forma decodificada
print "\nProceso Finalizado ";
print "Ip = $ipprimpart.$ipsegpart.$ipterpart.$ipcuarpart\n";
print "\n";
print "\n";
bueno.... no los aburro mas con mis palabras y los dejo con el codigo!... seguro que hay mil y una forma para mejorarlos ... si alguien tiene tiempo y lo hace... bueno... mandeme una copia por mp o al mail.
#Este codigo fue realizado para no tener que hacer calculos cuando estamos
#realizando una operacion con conecciones y se nos devuelve una ip
#codificada; como es el caso del protocolo DCC ( motivo por el cual se penso en el programa ;-) ).
#
#Se concede permiso para copiar, distribuir o modificar este programa según las condiciones de la GNU Free Documentation License (GFDL),
#(cualquier) versión publicada por la Free Software Foundation.
#
system clear;
print " --------------------------------------------------------------\n";
print "| |\n";
print "| ~ Decodificador de IPs Codificadas en base 256 ~ |\n";
print "| |\n";
print "| |\n";
print "| by: Viper Doom|\n";
print "| |\n";
print "| ~ Se concede permiso para copiar, distribuir o modificar este|\n";
print "| programa según las condiciones de la GNU Free Documentation |\n";
print "|License (GFDL),(cualquier) versión publicada por la Free Softw|\n";
print "|are Foundation. ~ |\n";
print "| |\n";
print "| |\n";
print " --------------------------------------------------------------\n";
print "\n";
#Ingresamos la ip codificada
print "Ingrese ip a decodificar: ";
#Sacamos la primer parte de la ip codificada
$maxnumshow = 4294967296;
$maxnum = ((4294967296/1000000000)-4);
$primtodec = (int(<stdin>));
while ((($primtodec/1000000000)-4) ge $maxnum){
print "\nImposible decodificar ip; esta seguro de que ha ingresado correctamente?";
print "\nNumero maximo posible = $maxnumshow; decodificado = 255.255.255.255\n";
print "\nVuelva a ingresar la ip codificada a modificar :";
$primtodec = <stdin>;
}
$ipprimpart = int($primtodec / (256*256*256));
#Sacamos la segunda parte de la ip codificada
$segtodec = $primtodec - ($ipprimpart *(256*256*256));
$ipsegpart = int ($segtodec / (256*256));
#Sacamos la tercer parte de la ip codificada
$tertodec = $segtodec - ($ipsegpart * (256*256));
$ipterpart = int ($tertodec / (256));
#Sacamos la cuarta parte de la ip codificada
$cuartodec = $tertodec - ($ipterpart * 256);
$ipcuarpart = int($cuartodec / 1);
#imprimimos la ip en forma decodificada
print "\nProceso Finalizado ";
print "Ip = $ipprimpart.$ipsegpart.$ipterpart.$ipcuarpart\n";
print "\n";
print "\n";