Enero 20, 2018, 09:27:47 pm

Autor Tema: Curso de Perl desde 0 by Vengador de las Sombras  (Leído 18578 veces)

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

Desconectado The X-C3LL

  • Troll Profesional
  • Moderador Global
  • *****
  • Mensajes: 2462
  • Sexo: Masculino
  • Bitches, I have my powers again!
    • Ver Perfil
    • 0V3RL04D 1N TH3 N3T
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #15 en: ſeptiembre 08, 2008, 05:11:11 pm »

Proximo día sockets "light" (sin complicaciones, que ya habrá tiempo de usar sockets al estilo "complejo").
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login - You are not allowed to view links. Register or Login

Desconectado WaesWaes

  • Actualmente es
  • Colaborador
  • ****
  • Mensajes: 4402
  • You are not prepared!
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #16 en: ſeptiembre 08, 2008, 05:13:15 pm »
=)

ahi estoy esperando.....

muy bien vengador lo llevas bastante dinamico al curso

saludos

Desconectado maxwellnewage

  • Yo vivo en CPH
  • ***
  • Mensajes: 1229
  • Sexo: Masculino
    • Ver Perfil
    • Argentina Geek 2.0
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #17 en: Marzo 06, 2009, 03:08:34 pm »
ya murio el curso? :(
You are not allowed to view links. Register or Login

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #18 en: Marzo 06, 2009, 05:52:42 pm »
Aunque se reviva el post, es muy util, lastima que muera, estoy aprendiendo Perl.



Saludos, Javier.
¡MI TWITTER You are not allowed to view links. Register or Login!
You are not allowed to view links. Register or Login !

Desconectado onixes001

  • Yo vivo en CPH
  • ***
  • Mensajes: 459
  • BOB MARLEY
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #19 en: Marzo 27, 2009, 06:42:43 am »
X-CELL este manu es muy bueno, lasima que se perdiera la mayort parte con la caida de cph. Podrias continuar con el..saludos y gracias
My home is in my head - Bob Marley

Desconectado jamp

  • Yo vivo en CPH
  • ***
  • Mensajes: 1069
  • Sexo: Masculino
  • Ayudando a mis compañeros
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #20 en: Mayo 26, 2009, 08:08:14 am »
Muchas gracias, esta muy bueno el tutorial. Pero tengo un problema.... respecto al condicional IF, cojo el mismo codigo que pusiste tu en el tutorial:

Código: You are not allowed to view links. Register or Login
print "Introduzca su edad";
$edad=<STDIN>;
if ($edad >= 18){
print "\nEres Mayor de Edad";
else {
print "\NEres Menor de Edad";
}

Y me da error en la linea 5, exactamente en el Else.... A que se deve???
Si ves que un hombre tiene hambre, dale un pescado; si no quieres que pase hambre nuevamente, enséñale a pescar.

Desconectado RockoX

  • Yo vivo en CPH
  • ***
  • Mensajes: 1186
  • Sexo: Masculino
  • Leo Gutierrez
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #21 en: Mayo 26, 2009, 09:02:42 am »
Te faltó el '{' antes del ELSE, y pusiste un caracter de escape que no existe '\N', el codigo corregido seria asi:
Código: You are not allowed to view links. Register or Login
#!/usr/bin/perl
print "Introduzca su edad";
$edad=<STDIN>;
if ($edad >= 18){
print "\nEres Mayor de Edad";
} else {
print "\nEres Menor de Edad";
}

Saludos.
. .. ... ..... ........

Desconectado jamp

  • Yo vivo en CPH
  • ***
  • Mensajes: 1069
  • Sexo: Masculino
  • Ayudando a mis compañeros
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #22 en: Mayo 26, 2009, 01:25:11 pm »
Muchas gracias ;) Y haver si se anima nuestro compañero a seguir con el Tuto....iva perfecto

Desconectado RockoX

  • Yo vivo en CPH
  • ***
  • Mensajes: 1186
  • Sexo: Masculino
  • Leo Gutierrez
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #23 en: Mayo 26, 2009, 08:56:43 pm »
Por lo pronto sacale partido a lo que has aprendido.

Desconectado onixes001

  • Yo vivo en CPH
  • ***
  • Mensajes: 459
  • BOB MARLEY
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #24 en: Mayo 27, 2009, 12:11:34 pm »
Yo ya lo hice pero lo que molan son los sockets y cuando estaba meido completo se borro con la gran caida del foro, y no lo consegui aprender del todo!xD

saludos

Desconectado jamp

  • Yo vivo en CPH
  • ***
  • Mensajes: 1069
  • Sexo: Masculino
  • Ayudando a mis compañeros
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #25 en: Mayo 27, 2009, 02:39:31 pm »
Yo ni si quiera llege a estudiarme eso....¿No hay nadie que lo tenga guardado?

Desconectado RockoX

  • Yo vivo en CPH
  • ***
  • Mensajes: 1186
  • Sexo: Masculino
  • Leo Gutierrez
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #26 en: Junio 01, 2009, 09:44:58 am »

No, estudien otra cosa, expresiones regulares.

Saludos.

Desconectado messerschmitt

  • Si te metes con CPH
    te metes conmigo
  • ****
  • Mensajes: 2242
  • Sexo: Masculino
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #27 en: Junio 30, 2009, 02:48:57 pm »
Buenas, he conseguido la parte donde nuestro amigo The X-C3LL, nos explica como funcionan los sockets light.
Aquí va!



Bueeno...

Ya tocaba hablar de sockets . Voy a tratar de hacer un capítulo simple y sencillo sin complicaciones, porque estos días no tengo tiempo ya que el 18 me mudo... a 800Km por la universidad y esas cosas así que quiero dejaros esto aunque explique poco para dejaros un par de ejercicios para que los hagais por si no puedo conectarme en una semana o así (en principio no debería de pasar, pero más vale prevenir que curar).


Antes de empezar necesito que aprendais un par de términos para evitarnos confusiones, ya que voy a trabajar con algunas cosas que no hemos visto. La primera y más sencila... concatenar.

Concatenar es unir dos cadenas de caracteres en una. Esto se realiza con el operador . . Se pueden concatenar variable + variable o texto + variable, y la concatenación puede hacerse dentro de una variable, por ejemplo:

Citar
#Concatenación
$a = "Hola";
$b = $a." Mundo";
print $b;

$a = "Adios ";
$b .= "Mundo";
print $b;

$a = "FOS";
$b = " Rocks";
$c = $a.$b;
print $c;

¿Lo veis con claridad? Bien ya vereis para qué usaremos concatenación. Ahora quiero que sepais que cuando una variable es @variable se trata de un array que contiene varias strings (o cadenas de caracteres) separadas por campos... en el próximo capítulo hablaremos del manejo de Arrays y Hashes,así que no quiero que os preocupeis con eso.

En este ocasión la vamos a emplear de iguial forma que cuando vimos el manejo básico de ficheros, para hacer de "jarra" que contendrán la respuesta del socket. mmm ¿Socket? ¿Qué es eso?


Ahora empezamos a entrar de verdad en el meollo del asunto. Los sockets son conexiónes que se establecen con una dirección remota y que por ellos puede circular información. Básicamente para que lo entendais (por favor los que saben PERL no me crucifiquen por lo que voy a decir, lo digo asi para que los que empiezan lo entiendan) existen tres caminos, que son: &STDIN, &STDOUT y &STDERR. Ahora mismo no hace falta que os sepais esto, pero cuando veamos los sockets en mayor profunidad, nos va hacer falta. Lo de & está relacionado con punteros... ya veremos esto tambien más adelante XD.


Para poder "lanzar" un socket en perl necesitamos antes llamar a una librería (también llamadas módulos). Este es nuestro primer contacto con las librerías, no os preocupeis si no entendeis esto... pero funciona como en otros lenguajes, como C. Para declarar la librería que vamos a usar (en nuestro caso la encargada del manejo de sockets) se usa la siguiente sentencia;


Citar
use IO::Socket::INET;


Para lanzar el socket necesitaremos crear un "objeto" que realice la conexión. Cuando tengamos que hacer algo por el socket tendremos que hacer la llamada al objeto correspondiente. Normalmente vamos a llamar al objeto $socket, $sock o similares, más que nada por mantener cierto "orden" y estructura en nuestro programa.

Para crear el objeto que contendrán el socket antes tendremos que haber seteado la información necesaria. La información "mínima" que se necesita para poder establecer una conexión es el HOST, que será la dirección remota con la que estableceremos las negociaciones, el PUERTO por el cual se establecerán dichas negociaciones y por último el protocolo que se empleará. A menos que se diga lo contrario, por defecto usaremos TCP.


Entonces... para crear un socket "simple" haríamos:


Citar
$socket = IO::Socket::INET->new( PeerAddr => "google.com",
PeerPort => "80",
Proto => "tcp");


Con eso "lanzaríamos" una conexión a google.com hacia el puerto 80 usando como protocolo TCP... Pero atentos "lanzamos", es decir, eso no significa que obligatoriamente vallamos a conectarnos. Para saber si hay algún error al intentar conectar usaremos el operador lógico OR acompañada de la sentencia die. Quedandonos como resultado:

Citar
$socket = IO::Socket::INET->new( PeerAddr => "google.com",
PeerPort => "80",
Proto => "tcp") || die "No se pudo conectar";

Si la conexión no se ha podido establecer muestra el mensaje de No se pudo conectar" y se cierra la aplicación.


Por el contrario, si la conexión ha tenido éxito podremos mandar y recibir datos. En ambos casos tendremos que llamar al objeto $socket que hemos creado. Para el envío de información, tendremos que hacer

Citar
print $socket "Cadena de Texto que queremos mandar"

Como ejemplo vamos a mandar una cabecera HTTP (Información sobre cabeceras y métodos HTTP) que haga una petición GET a un servidor, por ejemplo este.

Citar
$peticion = "GET / HTTP/1.0";
$peticion .= "\r\n\r\n"; #Concatenamos un doble CR/LF para indicar el final del Header (leer link para comprenderlo)


Acabamos de hacer casi lo mismo que hace vuestro navegador  mandar una petición tipo GET a un archivo del servidor... solo nos faltaría interpretarlo XD.


Pero... ¿Como recibimos la información? Tenemos dos opciones, o guardar lo que nos llegue desde el socket en un array, o bien usar la función READ. Para el primer caso solo tendríamos que hacer

Citar
@output = <$socket>

Y trabajaríamos sobre ese array. La segunda forma necesitamos definir primero el número de caracteres que vamos a recoger del output del socket, si va a ser pequeña podemos usarlo... no obstante normalmente (salvo casos excepcionales) es más reocmendable guardarlo todo en un array y despues trabajar con ese array.

La forma de aplicar la sentencia read sería:

Citar
read $socket, $variable, "1000";
Y la respuesta del socket la tendríamos en $variable.

Espero haberme expresado con la suficiente claridad como para que lo entendais... ya sabeis, cualqueri duda, error o sugerencia posteadla. Hacer una aplicación que setee las variables desde argumentos y cuya función sea descargarse un archivo de una web.


Byt3z

Y Dios vio que era bueno y dijo:
Noo, no tes has equivocado de foro, Atención Atención

Desconectado messerschmitt

  • Si te metes con CPH
    te metes conmigo
  • ****
  • Mensajes: 2242
  • Sexo: Masculino
    • Ver Perfil
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #28 en: Junio 30, 2009, 02:56:28 pm »
Sigamos...

Bueno... hablemos un poco de hashes. Podríamos decir que un hash es un tipo de array, en el cual tenemos unas CLAVES (a partir de ahora las llamaremos Keys) que están ligadas a unos valores (Values). Los hashes se indican usando % delante del nombre. Un ejemplo de cómo construir un hash es:

Citar
(perl)
%edad = ("Javi", 25, "Juan", 17, "Miguel", 3);

#O también podemos expresarlo así:

%edad = (Javi=> 25,
Juan=> 17,
Miguel=> 3);

Personalmente suelo recurrir a la segunda forma, porque personalmente creo que se ve más claro, ya que a simple vista vemos de cada Key su Value (primero aparece la Key y segundo el Value asociado).

Cuando queramos utilizar el Value asociado a una determinada key, lo podemos hacer así:

$hash{key}

Por ejemplo:

Citar
print $edad{Miguel};
Imprime por pantalla "3"

Para cambiar el Value de una determinada Key, recurriremos a un simple seteo de variable, por ejemplo:
Citar
$edad{Javi} = 45;

Con la función delete() podremos borrar un determinado par Key/Value de nuestro hash (delete($hash{key}). Por ejemplo:

Citar
delete($edad{Juan});

Para mostrar todos los Keys o todos los Values que contiene nuestro hash debemos de utilizar las funciones keys() y values():

Citar
print keys(%edad);
print values(%edad);

Un detalle importante que se generaliza a casi todas las funciones aplicadas a hashes es que cuando se intenta imprimir un par Key/Value, o todas las Keys o Values, éstas no se imprimiran en un orden. Para ello tenemos la función Sort que unida a otra muestra lo requerido en orden:

Citar
print sort(keys(%edad));


Bueno... creo que con esto podemos ir tirando un poco del carro hasta el siguiente capítulo... donde empezaremos a usar módulos más enserio.



Hasta aquí, ya no creo que pueda haber mas.
Si alguien consigue, no dude en postear!
Y muchas gracias a The X-C3LL por haber creado este curso!
Un saludo!


Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: Curso de Perl desde 0 by Vengador de las Sombras
« Respuesta #29 en: Junio 30, 2009, 05:57:41 pm »
Wow nunca había encontrado algo tan bien explicado :|.
Siempre muestran solo ejemplos ;)

Saludos.


exclamation
Mail Bomber ->Consctrucción de uno en PERL<- By Vengador de las Sombras

Iniciado por The X-C3LL

8 Respuestas
2999 Vistas
Último mensaje Junio 13, 2008, 07:00:07 pm
por hacker_beginner
exclamation
*** Hackear con CryptCat y Backdorizar *** By Vengador de las Sombras

Iniciado por The X-C3LL

23 Respuestas
12971 Vistas
Último mensaje Agosto 13, 2008, 03:46:40 pm
por joseang
xx
"page_alb.asp" => SQL INJECION [Discovered by Vengador de las Sombras & Plaga]

Iniciado por The X-C3LL

2 Respuestas
1656 Vistas
Último mensaje Mayo 28, 2008, 02:58:26 am
por The X-C3LL
exclamation
Facil acceso a Exploit-DB desde Perl y Shodan API [PERL]

Iniciado por alxr_n3td1srupt

2 Respuestas
1798 Vistas
Último mensaje Enero 31, 2013, 08:41:16 am
por alxr_n3td1srupt
smiley
Curso de visual basic 6.0 como el Curso C/C++ desde cero

Iniciado por Paolita747

2 Respuestas
1670 Vistas
Último mensaje Mayo 31, 2008, 01:56:18 am
por Paolita747
xx
XSS Desde Perl.

Iniciado por JaAViEr

0 Respuestas
1773 Vistas
Último mensaje Marzo 11, 2009, 06:41:00 pm
por JaAViEr
xx
Logearse a Facebook desde Perl o python!

Iniciado por SixP4ck3r

0 Respuestas
1033 Vistas
Último mensaje Febrero 15, 2012, 06:44:08 am
por SixP4ck3r
xx
Seteando cookies para Mozilla Firefox desde Perl

Iniciado por SixP4ck3r

2 Respuestas
1067 Vistas
Último mensaje Abril 17, 2013, 07:05:19 am
por SixP4ck3r
xx
Curso de C# desde 0 - Inscripciones

Iniciado por Mace Windu

25 Respuestas
8036 Vistas
Último mensaje Julio 08, 2008, 02:30:22 am
por Mace Windu
xx
Viejo Curso C++ desde 0

Iniciado por WaesWaes

490 Respuestas
118403 Vistas
Último mensaje Agosto 06, 2013, 07:17:47 pm
por .xAk.