• Publicidad

Herramienta de software para routers CISCO

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Herramienta de software para routers CISCO

Notapor Morodo » 2009-12-11 08:54 @412

Hola a todos.

Soy muy, muy nuevo en esto de Perl.

Estoy interesado en el lenguaje ya que mi proyecto fin de carrera trata de la realización de una herramienta que permita gestionar un router Cisco orientado a telefonía IP, y, por lo que tengo entendido, Perl tiene una serie de módulos para trabajar con routers de esta compañía.

¿Me equivoco?
¿Se pueden mandar comandos ssh o telnet?
¿Y capturar la respuesta del router?

Todavía estoy decidiendo qué herramientas utilizaré y estoy entre Java y después pasarlo a JSP para integrar la herramienta en un servidor, o en Perl+PHP.

Tampoco tengo conocimientos de PHP, por lo que si estoy diciendo alguna "burrada", estaría muy agradecido en que me corrigieran.

Por ahora nada más. Si finalmente utilizase Perl para la realización del proyecto, me convertiré en un asiduo más de los muchos que veo por el foro.

Muchas gracias por vuestras opiniones y sugerencias de antemano.

Cualquier consejo será bienvenido ;)
Morodo
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2009-12-11 08:36 @400

Publicidad

Re: Herramienta de software para routers CISCO

Notapor explorer » 2009-12-11 09:03 @419

Bienvenido a los foros de Perl en Español, Morodo.

Sí que hemos hablado por aquí, alguna vez, de ese tema. Puedes encontrarlo con el sistema de búsqueda o Google referido a este sitio.

En cuanto al resto de la presentación, también lo puedes en Perl. Por ayudas para hacerlo vía web, que no quede.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Herramienta de software para routers CISCO

Notapor Morodo » 2009-12-11 09:19 @430

Muchas gracias explorer, por la respuesta y por la velocidad.

Entonces, crear una aplicación web que "resuma" una serie de comandos es posible con Perl.

Corregidme si me equivoco.

El asunto sería realizar un script en Perl para cada "acción" (i.e. Añadir nuevo teléfono IP) y después vincular el script a un "botón" de PHP.

Como pueden ver aun no tengo nada definido cómo hacerlo ¡je,je,je!

Gracias de nuevo.
Morodo
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2009-12-11 08:36 @400

Re: Herramienta de software para routers CISCO

Notapor explorer » 2009-12-11 10:49 @492

Morodo escribiste:El asunto sería realizar un script en Perl para cada "acción" (i.e. Añadir nuevo teléfono IP) y después vincular el script a un "botón" de PHP.

Hombre... estando en un foro de Perl, recibirás más ayuda para hacerlo en Perl, que en PHP ;)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Herramienta de software para routers CISCO

Notapor Morodo » 2009-12-11 12:13 @551

Gracias nuevamente por la respuesta.

Tengo un buen lío en la cabeza...

Entonces ¿podría hacer todo únicamente con Perl?

Desconozco las capacidades del lenguaje completamente :(

¿Cómo alojo la aplicación Perl en un servidor para acceder remotamente?

Es mi primera aplicación web, y nunca he tocado ni Apache, ni PHP, ni Perl ni un router cisco ni nada :(

He leído que Perl puede dar problemas en Windows, y me interesaría que pueda ejecutarse en cualquier plataforma.
Morodo
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2009-12-11 08:36 @400

Re: Herramienta de software para routers CISCO

Notapor explorer » 2009-12-11 12:54 @579

Morodo escribiste:Entonces ¿podría hacer todo únicamente con Perl?
Sí, sí que lo puedes hacer, pero, si no tienes tiempo ni ganas de aprender un nuevo lenguaje, para tu tesis, siempre es recomendable usar aquello en lo que te encuentres más cómodo.

Morodo escribiste:Desconozco las capacidades del lenguaje completamente :(
El problema de Perl es que se trata de un lenguaje natural, de muy alto nivel, de cuarta generación y con una de las sintaxis más amplias que se puedan desear, con lo que, aparentemente, es más difícil para el neófito construir algo en base a unas reglas fijas.

Por ejemplo: si te mando construir una casa a partir de un camión de ladrillos, pues bien o mal, la harás enseguida, porque solo tienes que echar mano de un ladrillo cada vez y colocarlo en su sitio. En cambio, con Perl, te darás cuenta de que además del ladrillo cocido simple de 0.05€, vendrá con 6 tipos distintos de ladrillos caravista, además de tres variantes de ladrillos esquineros. Seguirás pudiendo hacer la casa, pero ahora tendrás alguna pequeña duda de qué ladrillo poner en cada sitio.

Yo, desde luego, prefiero Perl: mis casas son mucho más atractivas que las de ladrillo cocido. Y las hago mucho antes.

Punta del iceberg Perl en Español.

Morodo escribiste:¿Cómo alojo la aplicación Perl en un servidor para acceder remotamente?
Yo eso lo aprendería después de haber jugado un poco con Perl, en la ventana de línea de comandos.

Si estás en Linux no necesitas instalar Perl porque ya viene de base. Si por desgracia sigues en Windows, tendrás que instalarlo. Tu web de apoyo principal será win32.perl.org. Puedes empezar por instalarte una distribución de Perl, o... si quieres empezar con todo a la vez, un paquete software como el XAMPP para Windows.

Morodo escribiste:Es mi primera aplicación web, y nunca he tocado ni Apache, ni PHP, ni Perl ni un router cisco ni nada :(
Por aquí hubo un hilo que era el mismo trabajo: interaccionar con un enrutador y sacar la información en HTML, pero el caso es que no lo encuentro...

No sabes la envidia que me das... empezar desde cero :) Yo, si pudiese, no perdería el tiempo con el PHP, desde luego. Pero es una opinión personal, claro.

Morodo escribiste:He leído que Perl puede dar problemas en Windows, y me interesaría que pueda ejecutarse en cualquier plataforma.
La única pega que tiene Perl en Windows es por limitaciones del propio sistema operativo Windows. Y que no viene con un compilador de C por defecto, por lo que la instalación de módulos puede ser un poco más liosa que en otros sistemas operativos. Pero con el PPM tienes decenas de miles de módulos a tu disposición.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Herramienta de software para routers CISCO

Notapor salva » 2009-12-12 06:01 @292

Morodo escribiste:Estoy interesado en el lenguaje ya que mi proyecto fin de carrera trata de la realización de una herramienta que permita gestionar un router Cisco orientado a telefonía IP, y, por lo que tengo entendido, Perl tiene una serie de módulos para trabajar con routers de esta compañía. ¿Me equivoco?

A medias, aunque es cierto que hay un montón de modulos para manejar routers de Cisco, eso no quiere decir que exista uno para el modelo/familia que tu vas a utilizar o que de existir, que tenga la funcionalidad que tu necesites... a primera vista, la mayoría de los módulos que aparecen no son de propósito general sino que atacan problemas muy concretos.

Morodo escribiste:¿Se pueden mandar comandos ssh o telnet?
¿Y capturar la respuesta del router?

Sí y sí, para esto si hay módulos, por citar algunos: Expect, Net::Telnet, Net::OpenSSH, Net::SSH2

Morodo escribiste:Todavía estoy decidiendo qué herramientas utilizaré y estoy entre Java y después pasarlo a JSP para integrar la herramienta en un servidor, o en Perl+PHP.

Yo de entrada para desarrollar una aplicación de gestión de sistemas te desaconsejaría Java por dos motivos:
  • es un lenguaje de bajo nivel, lo que te obligara a trabajar más de la cuenta.
  • al correr sobre una maquina virtual (la JVM), muchas de los servicios del sistema operativo no están disponibles, o están ocultos bajo capas y capas de software para conseguir la independencia del SO y precisamente para el tipo de aplicación que describes estos servicios suelen venir muy bien.

Morodo escribiste:Tampoco tengo conocimientos de PHP, por lo que si estoy diciendo alguna "burrada", estaría muy agradecido en que me corrigieran.

PHP tampoco es un gran lenguaje, aunque tiene la ventaja de que es muy fácil de aprender y de que en cualquier servicio de alojamiento web lo soportan.

Dejando a un lado mis preferencias personales (que entonces te diría Perl :-) ) y considerando solo realizar el proyecto de la mejor manera posible, yo te recomendaría que lo hiciese en Perl o en Python (o puede que en Ruby, pero este lenguaje solo lo conozco muy por encima).

Otra cosa es que teniendo en cuenta que este es tu proyecto final de carrera, supongo que tu objetivo final sea conseguir un empleo y entonces tendrías que considerar otras cosas... el proyecto final de carrera es una manera de profundizar en un área de conocimiento concreta y a veces la forma de orientar tu futura vida profesional.

De todas formas, si nunca has programado en un lenguaje de script, mi recomendación final es que aprendas alguno, es un enfoque diferente que te abrirá los ojos en muchos sentidos aunque luego acabes programando en Java... básicamente luego te pasaras todo el tiempo soltando improperios y mentando a SUN, la madre del Gosling y preguntándote por qué todo tiene que hacerse de manera tan complicada ;-)
Avatar de Usuario
salva
Perlero nuevo
Perlero nuevo
 
Mensajes: 200
Registrado: 2008-01-03 15:19 @680

Re: Herramienta de software para routers CISCO

Notapor Morodo » 2009-12-12 12:38 @568

Gracias a ambos dos por las respuestas. Me están ayudando muchísimo.

explorer escribiste:
Morodo escribiste:Entonces ¿podría hacer todo únicamente con Perl?
Sí, sí que lo puedes hacer, pero, si no tienes tiempo ni ganas de aprender un nuevo lenguaje, para tu tesis, siempre es recomendable usar aquello en lo que te encuentres más cómodo.

Si el tiempo que tarde en aprender Perl, me lo voy a ahorrar más adelante con menos dolores de cabeza del tipo...
  • ¿por qué hay un espacio detrás de este string?
  • ¿pero qué me esta devolviendo esta... función?
  • ¿por qué funciona ahora y antes no?
¡Me lo quedo! :D

explorer escribiste:
Morodo escribiste:Desconozco las capacidades del lenguaje completamente :(
El problema de Perl es que se trata de un lenguaje natural, de muy alto nivel, de cuarta generación y con una de las sintaxis más amplias que se puedan desear, con lo que, aparentemente, es más difícil para el neófito construir algo en base a unas reglas fijas.

Me ha encantado el ejemplo de los ladrillos :wink:

Todavía no he mirado nada de Perl, pero... NO LE TENGO MIEDO muahahahaha :twisted: :twisted:

explorer escribiste:
Morodo escribiste:¿Cómo alojo la aplicación Perl en un servidor para acceder remotamente?
Yo eso lo aprendería después de haber jugado un poco con Perl, en la ventana de línea de comandos.

Si estás en Linux no necesitas instalar Perl porque ya viene de base. Si por desgracia sigues en Windows, tendrás que instalarlo.

Tengo la suerte de ser un usuario de MacOS :)

En breve me pondré a leer el manual.

explorer escribiste:
Morodo escribiste:Es mi primera aplicación web, y nunca he tocado ni Apache, ni PHP, ni Perl ni un router cisco ni nada :(
Por aquí hubo un hilo que era el mismo trabajo: interaccionar con un enrutador y sacar la información en HTML, pero el caso es que no lo encuentro...

No sabes la envidia que me das... empezar desde cero :) Yo, si pudiese, no perdería el tiempo con el PHP, desde luego. Pero es una opinión personal, claro.

Y no sabes qué envidia me dais vosotros. Sabiendo un poquito de cada cosa como te enseñan en la universidad no vamos a ningún sitio. Preferiría dominar una tecnología, a conocerlas por encima a todas.

salva escribiste:
Morodo escribiste:Estoy interesado en el lenguaje ya que mi proyecto fin de carrera trata de la realización de una herramienta que permita gestionar un router Cisco orientado a telefonía IP, y, por lo que tengo entendido, Perl tiene una serie de módulos para trabajar con routers de esta compañía. ¿Me equivoco?

A medias, aunque es cierto que hay un montón de módulos para manejar routers de Cisco, eso no quiere decir que exista uno para el modelo/familia que tu vas a utilizar o que de existir, que tenga la funcionalidad que tu necesites... a primera vista, la mayoría de los módulos que aparecen no son de propósito general sino que atacan problemas muy concretos.

Mas vale pájaro en mano... que ciento volando ¡je,je,je! Ahora hablo sin estar metido en el asunto, pero siempre es mejor tener la opción de ver cómo han implementado diferentes soluciones, aunque sea para otros modelos, que no tener nada. Nunca sabes cuándo va a venirte la inspiración (o el copy-paste :))

salva escribiste:
Morodo escribiste:Todavía estoy decidiendo qué herramientas utilizaré y estoy entre Java y después pasarlo a JSP para integrar la herramienta en un servidor, o en Perl+PHP.

Yo de entrada para desarrollar una aplicación de gestión de sistemas te desaconsejaría Java por dos motivos:
  • es un lenguaje de bajo nivel, lo que te obligara a trabajar más de la cuenta.
  • al correr sobre una maquina virtual (la JVM), muchas de los servicios del sistema operativo no están disponibles, o están ocultos bajo capas y capas de software para conseguir la independencia del SO y precisamente para el tipo de aplicación que describes estos servicios suelen venir muy bien.

Perfecto, me lo apunto ;)

salva escribiste:
Morodo escribiste:Tampoco tengo conocimientos de PHP, por lo que si estoy diciendo alguna "burrada", estaría muy agradecido en que me corrigieran.

PHP tampoco es un gran lenguaje, aunque tiene la ventaja de que es muy fácil de aprender y de que en cualquier servicio de alojamiento web lo soportan.


Si insisto tanto con PHP, es por que todavía no veo la forma de colgar una aplicación Perl en un servidor y poder acceder a ella por HTTP. Por eso tengo lo de PHP en la cabeza. Supongo que hasta que me lea unos cuantos tutoriales de Perl, no lo veré más claro.

salva escribiste:Dejando a un lado mis preferencias personales (que entonces te diría Perl :-) ) y considerando solo realizar el proyecto de la mejor manera posible, yo te recomendaría que lo hiciese en Perl o en Python (o puede que en Ruby, pero este lenguaje solo lo conozco muy por encima).


Conozco Python, tuve alguna batallita con el en una asignatura, pero simplemente fue para aprender programación básica. No le dimos muchas vueltas, por lo que estaría igual de perdido que con Perl, y sin vuestra maravillosa ayuda ;)

salva escribiste:Otra cosa es que teniendo en cuenta que este es tu proyecto final de carrera, supongo que tu objetivo final sea conseguir un empleo y entonces tendrías que considerar otras cosas... el proyecto final de carrera es una manera de profundizar en un área de conocimiento concreta y a veces la forma de orientar tu futura vida profesional.

¡Exacto!

salva escribiste:De todas formas, si nunca has programado en un lenguaje de script, mi recomendación final es que aprendas alguno, es un enfoque diferente que te abrirá los ojos en muchos sentidos aunque luego acabes programando en Java... básicamente luego te pasaras todo el tiempo soltando improperios y mentando a SUN, la madre del Gosling y preguntándote por qué todo tiene que hacerse de manera tan complicada ;-)

Yo todo lo que he querido hacer con Java lo he podido hacer, pero sí que tienes razón en algo. ¿Porque todo tan complicado?
Morodo
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2009-12-11 08:36 @400

Re: Herramienta de software para routers CISCO

Notapor salva » 2009-12-12 13:39 @610

Morodo escribiste:Y no sabes que envidia me dais vosotros. Sabiendo un poquito de cada cosa como te enseñan en la universidad no vamos a ningún sitio. Preferiría dominar una tecnología, a conocerlas por encima a todas.

En eso estás muy equivocado, las tecnologías van y vienen, lo que hoy está de rabiosa actualidad puede que dentro de diez años haya desaparecido. Para alguien que se va a dedicar a la informática, lo más importante es tener unas bases solidas que le permitan entender las tecnologías, cualesquiera que sean las que vengan y tomar decisiones con criterio.

Y eso es al final lo que marca también la diferencia entre un profesional mediocre y uno brillante.
Avatar de Usuario
salva
Perlero nuevo
Perlero nuevo
 
Mensajes: 200
Registrado: 2008-01-03 15:19 @680

Re: Herramienta de software para routers CISCO

Notapor explorer » 2009-12-13 07:24 @350

Un informático que ha estado en la Universidad tiene bases de conocimientos bastante superiores a las de un aficionado que se dedica a viajar por Internet y probar código que cae en sus manos.

¿Qué probabilidad hay de que un simple aficionado se pare a ver la página de Wikipedia sobre Estructuras de datos? Sí, es posible que le dedique un tiempo, pero el universitario ha tenido que pasar por una asignatura completa dedicada a eso, hacer una práctica y un examen. Quizás en el futuro no tenga que aplicar ninguna de estas técnicas en sus proyectos, pero al menos tiene unos cimientos más sólidos que el del aficionado.

La palabra Universidad viene de Universo, es decir, todo. Ahí te enseñan un poco de todo para que sepas las bases y la historia de la informática que existe en este momento. La industria y la empresa usan técnicas más novedosas, pero no está garantizado su uso futuro, como dice Salva.

Ejemplo: en mi empresa han estado programando con Power Builder desde hace años, una herramienta de la que jamás he oído hablar. Ni siquiera aparece en la clasificación de los 50 lenguajes más usados. Eso quiere decir que si pierden a su único programador experto en Power Builder, van a tener un problema. Y grande.

Por contra, los otros programadores que hay en la empresa usan Java y .Net, por lo que sus sueldos son de los más bajos del mercado (claro: hay abundancia de programadores de Java y .Net). Se han especializado en esas técnicas porque lo demanda el mercado. Son muy buenos y son capaces de resolver cualquier tema, pero les es muy difícil pensar en términos distintos a los que su lenguaje les impone: no entienden la belleza de una one-line en Perl que es capaz de sustituir a 30 líneas de código en Java.

Lo mejor, aprender de todo ;)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 41 invitados