sábado, 10 de noviembre de 2012

Implementa ARGV en tus script's Perl Unix

Como han visto si son seguidores o lectores de Tiempo de Tux,de unas semanas para acá he estado enseñando un poco de lo que se puede hacer con Perl en sistemas tipo Unix,perl sirve para muchas cosas algunas de ellas son

Aplicaciones web con CGI

Rebotica(programación claro)

Pentest(exploits)

Programas(con interfaz Gtk,Qt,Tk,etc)

Y muchasssss cosas mas!!!

Así que perl esta al nivel de muchos otros lenguajes de programación :D

Bien,vamos a hablar un poco de ARGV

ARGV es un argumento que se le pasa a nuestro script,antes de ejecutarlo

Como que antes???

Esto mas que nada se ve en el mundo de los exploits,para ejemplo Slowloris

Enlace
La sintaxis que usa Slowloris es:

Por ejemplo

perl slowloris -dns www.itimetux.com
Y ha esto es a lo que me refiero

perl slowloris -dns parametro
incluso si han usado sistemas como Backtrack se darán cuenta que muchos de los programas que se usan en el se basan en la sintaxis

programa argumento
También mas que nada en Unix,pero también hay que tener en cuenta que también hay bastantes scripts en python,lua,bash,etc

En el caso de slowloris usa algo mas elegante ya que incluso se señala con -dns,pero ARGV es el principio básico de esto.


ARGV se define en parámetros, por ejemplo:

Primer parámetro:

$ARGV[0];


Primer parámetro:

$ARGV[1];

Y como es de costumbre, iniciando del cero hacia adelante

Ahora como implementarlo?

Vamos a hacer el clásico Hola Mundo con ARGV desde Teminal

Abran su editor de texto favorito y peguen esto

#!/usr/bin/env perl

use strict;

use utf8;

my $texto = $ARGV[0];

print "$texto\n";

Y ahora ejecuten el script así


perl script.pl HolaMundo
 También se puede así:


chmod +x  script.pl  


./script.pl 

Y obtendrán este resultado



Ese es un ejemplo del uso de ARGV

Para dos parámetros es igual solo hay que pensar un poco como acomodar nuestro script:

Por ejemplo



#!/usr/bin/env perl

use strict;

use utf8;

my $texto = $ARGV[0];

my $texto2 = $ARGV[1];

print "$texto $texto2";

Y ejecuten así

perl script.pl Hola Mundo



Esto se puede usar también
así

#!/usr/bin/env perl

use strict;

use utf8;

foreach (@ARGV) {
        print "$_\n";
}

De hecho como todo en perl se puede usar de muchísimas maneras ;)

Mas ejemplos

Yo mas que nada uso esto,para abrir archivos desde la linea de comandos,por ejemplo:

Abrir una imagen con el modulo Gtk3::Image desde linea de comandos

Es un ejemplo,esta programado muy simple,no vayas a cargar imágenes de mas de 1mb que se cae la interfaz gráfica, este es el script:

Enlace

Lo pueden mejorar ya que yo lo hice muy rapido y tiene bugs 

No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.