tag:blogger.com,1999:blog-74908175706521803122024-03-06T03:00:22.062-03:00Security HackSitio personal de Ariel M. Liguori De GottigAriel M. Liguori de Gottighttp://www.blogger.com/profile/02714929794781699420noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-7490817570652180312.post-44022421423559373672009-11-04T16:53:00.000-03:002009-11-04T16:53:22.335-03:00EPIC - Perl Editor and IDE for EclipseY recien ahora me vengo a enterar de esto...<br />
<br />
<i>"</i><span class="Apple-style-span" style="font-family: 'trebuchet ms'; font-size: 13px;"><i><a href="http://www.epic-ide.org/">EPIC </a>is an open source Perl IDE (including editor and debugger) based on the Eclipse platform, compatible with Windows, Linux and Mac OS X. Whether you are into CGI scripting or full-fledged Perl projects with hundreds of modules, EPIC is the most feature-rich and extensible free Perl IDE available today, thanks to a seamless integration with all the major features and GUI conventions of Eclipse."</i></span><br />
<span style="font-family: 'trebuchet ms'; font-size: small;"><span class="Apple-style-span" style="font-size: 13px;"><i><br />
</i></span></span><br />
<span style="font-family: 'trebuchet ms'; font-size: small;"><span class="Apple-style-span" style="font-size: 13px;">Excelente :-) a hacer test ahora!</span></span><br />
<span style="font-family: 'trebuchet ms'; font-size: small;"><span class="Apple-style-span" style="font-size: 13px;"><br />
</span></span><br />
<span style="font-family: 'trebuchet ms'; font-size: small;"><span class="Apple-style-span" style="font-size: 13px;">EPIC Page: <span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: 16px;"><a href="http://www.epic-ide.org/">http://www.epic-ide.org/</a></span></span></span><br />
<span style="font-family: 'trebuchet ms'; font-size: small;"><span class="Apple-style-span" style="font-size: 13px;"><br />
</span></span><br />
<span style="font-family: 'trebuchet ms'; font-size: small;"><span class="Apple-style-span" style="font-size: 13px;"><b><i>PD: Igual no hay nada como el vi!</i></b></span></span>Ariel M. Liguori de Gottighttp://www.blogger.com/profile/02714929794781699420noreply@blogger.com0tag:blogger.com,1999:blog-7490817570652180312.post-49033320864974501342009-11-03T13:04:00.000-03:002009-11-03T13:04:29.926-03:00QUINE() : QUINE()<b><i>¿Qué es un QUINE?</i></b><br />
<br />
Se denomina QUINE a un programa que reproduce su propio codigo fuente como salida :)<br />
Y que tiene eso de raro.... bueno, realmente nada solo que es muy divertido!<br />
<br />
<i>Pueden visitar </i><a href="http://www.nyx.net/~gthompso/quine.htm"><i>The Quine Page</i></a><i> para más información y códigos exóticos en culquier lenguaje que se les ocurra.</i><br />
<br />
Y de regalo un lindo quine en mi lenguaje preferido:<br />
<br />
<br />
<div><i>use strict;</i></div><div><i>use warnings;</i></div><div><i>#QUINE</i></div><div><i>$_=q(print "use strict\;\nuse warnings\;\n\#QUINE\n".qq(\$_=<wbr></wbr>q($_);eval\n));eval</i></div><div><br />
</div><div>Saludos!</div>Ariel M. Liguori de Gottighttp://www.blogger.com/profile/02714929794781699420noreply@blogger.com0tag:blogger.com,1999:blog-7490817570652180312.post-87289455830563905322009-03-04T10:35:00.000-02:002009-03-04T10:54:20.429-02:00Compilando módulos de Perl.-Hoy estoy compilando un par de módulos de Perl para una aplicación que programe que se encarga del backup de la configuración de firewalls a través de una conexión SSH.<br />Para ello necesito diversos módulos, pero principalmente se soluciona gran parte del problema con Net::Appliance::Session.<br /><br />Voy a dejarles aquí los comandos necesarios para la instalación de los módulos, cualquiera puede olvidarse ;)<br /><br />1) Se bajan el modulo MOD.tar.gz<br />2) lo descomprimen: <br />- gunzip MOD.tar.gz<br />- tar xvf MOD.tar<br /><br />3) Ingresan a la carpeta del modulo (/MOD ;) ) y ejecutan: perl Makefile.PL<br />4) make<br />5) make test<br />6) make install<br /><br />7) Porgraman tranquilos :)<br /><br />Bueno, es muy simple, métodico y fácil de recordar, así que ya saben como hacerlo.<br /><br />Saludos,Ariel M. Liguori de Gottighttp://www.blogger.com/profile/02714929794781699420noreply@blogger.com0tag:blogger.com,1999:blog-7490817570652180312.post-63430408198624497602008-05-30T12:32:00.003-03:002008-06-10T11:18:31.132-03:00¿ ARGC en Perl ?Buenas, hoy un compañero inocentemente me pregunto si existia el ARGC (propio de C) en Perl, mi respuesta se remitio a la realidad: NO.<br />Sin embargo, luego de escuchar las incontables criticas que le veian a esto concluí mi frase: NO, no es necesario.<br /><span id="fullpost"><br />Perl nativamente guarda los argumentos en el array @ARGV, pero para saber la cantidad de elementos que hay podemos hacer $nuestro_argc = $#ARGV +1; Efectivamente con $#array tenemos la cantidad de elementos del array, luego le sumamos 1 :)<br /><br />Hemos construido nuestro ARGC! Enhorabuena amantes de C, ya se sienten mas "como en casa".<br /><br />Saludos,<br /></span>Ariel M. Liguori de Gottighttp://www.blogger.com/profile/02714929794781699420noreply@blogger.com0tag:blogger.com,1999:blog-7490817570652180312.post-28434367489236960102008-05-27T09:38:00.004-03:002008-06-10T11:19:42.055-03:00Script & Telnet con PerlA la hora de trabajar con redes muchas tareas se vuelven repetitivas dia a dia. Entra a un switch cambiar una vlan, bajar una configuracion, sacar info de un puerto, etc. Es mas muchas veces estas tareas no se aplican a un solo equipo sino a N.<br />Como siempre la automatizaciond e estas tareas, siempre y cuando las mismas esten dentro de patrones controlados y conocidos por nosotros, se puede lograr mediante un script.<br /><span id="fullpost"><br />En particular con perl facilmente podemos establecer conexiones contra nodos mediante el protocolo telnet, para esto utilizamos el modulo "Net:Telnet".<br />Este modulo nos abre un camino muy amplio, y nos da herramientas sencillas y concisas, simplemente es muy facil utilizarlo!<br /><br />Por ejemplo:<br /><br /><pre><code><br />use Net::Telnet();<br /><br />$username = "pepe"; # user del equipo.<br />$password = "pepito"; # passw. del equipo.<br />$ip = "10.1.1.2"; # ip del equipo.<br />$localdir = "c:/log_del_script\.txt"; # archivo de logs.<br /><br />$session = Net::Telnet->new(timeout => 20, Errmode => 'return');<br />$session->open($ip); #Abro una conexion Telnet contra el dispostivo de ip $ip<br />$session->login($username,$password); #envio la info de login ($username / $password)<br /><br /># Nota: Aqui ya deberia estar dentro del dispositivo.<br /><br />$session->input_log($localdir); # Defino donde se van a alojar<br />$session->output_log($localdir); # los logs del script.<br /><br />#Aclaracion: Supongamos un switch en el cual entramos directamente en modo enable.<br /><br />$session->cmd('terminal length 0');<br />$session->cmd('show running');<br />$session->cmd('exit');<br />$session->close;<br /></code></pre><br /><br />Con este sencillo codigo podemos entrar a un switch (cisco por ejemplo) y guardar su configuracion en el log definido por nosotros.<br />Este script es muy sencillo igualemnte se puede mejorar mucho, por ejemplo con la utilizacion de argumentos, asi se evita modificar el fuente.<br /><br />Pero.. esto solo sirve para un equipo. SI!<br />No obstante es muy facil modificarlo.<br /><br /><pre><code><br />#Podemos sacar los datos de un CSV en el cual se encuentre el nombre del equipo ","<br /># la ip del mismo.<br /><br />open(DATOS, "<", "C:/IP.csv"); #Abro el archivo foreach $lines ( <datos> ) { # Leo el archivo linea a linea<br /><br />($name, $ip) = split(/,/,$lines); # separo los datos delimitados por el separador ","<br /><br />$localdir = "C:/$name-$ip\.txt"; #Defino el nombre del log.<br /><br />#... Desde aqui en adelante se utilizaria el mismo codigo que antes, siempre dentro<br /># dentro del foreach para que lo realize con cada IP.<br /><br />}<br /></code></pre><br /><br />Bueno espero que les sirva, como ven es muy util y muy sencillo. En particular para conexiones contra switches cisco se puede optar por el modulo Net:Telnet::Cisco que tiene muchas mas opciones de configuracion especificas de switches.<br /><br />Mas info aqui: http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm#COPYRIGHT<br /><br />Saludos,<br /><br /></span>Ariel M. Liguori de Gottighttp://www.blogger.com/profile/02714929794781699420noreply@blogger.com0tag:blogger.com,1999:blog-7490817570652180312.post-4550425709995467762008-04-09T15:46:00.011-03:002008-06-10T11:20:12.045-03:00Perl (Practical Extraction and Report Language).Seguramente muchos hayan oido hablar de este magnifico lenguaje de programacion. Sus infinitos usos y su claridad y simpleza lo hacen la herramienta esencial en tareas de scripting. No se si Larry Wall se oriento a esto cuando lo ideo pero creo que es necesario reconocerlo y aplaudirlo por ello.<br /><span id="fullpost"><br />El lenguaje Perl fue creado en 1987 por Larry Wall, y esta orientado a todos tipos de usos (Programacion orientada a objetos, regular, funcional, etc.) es muy simple y eficaz. Sus antecesores serian C, SH, AWK y muchos mas, aunque a mi entender Perl es algo nuevo con mucho viejo.<br />Personalmente Perl me ha sido de ayuda para encarar muchisimos proyectos en el area de redes, para automatizar tareas y para el procesamiento de textos. Si bien nacio bajo entornos Unix, Perl esta dispuesto a adarse a conocer a todos, si tenes windows podes usar el Active Perl o el Indigo Perl con ellos cubriras casi todas las demandas que se te planteen, ten en cuenta que aun hay muchas librerias que no estan adaptadas, pero para eso siempre alguien puede colaborar.<br /><br />Pueden encontrar mas info de Perl aquí:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.oreillynet.com/images/perl/sm_perl_id_bk_wt.gif"><img style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 57px; CURSOR: pointer; HEIGHT: 57px" alt="" src="http://www.oreillynet.com/images/perl/sm_perl_id_bk_wt.gif" border="0" /></a><a href="http://es.wikipedia.org/wiki/Perl#Nombre">Perl en Wikipedia<br /></a><a href="http://www.perl.org/">Perl.org</a><br /><a href="http://www.cpan.org/">CPAN</a><br /><br />Proximamente mas informacion acerca de este magnifico lenguaje y tambien algunos proyectos.<br />Saludos.</span>Ariel M. Liguori de Gottighttp://www.blogger.com/profile/02714929794781699420noreply@blogger.com0