Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
Iniciarse en la programación | 5 comentarios (1 temáticos, 4 editoriales, 0 ocultos)
Experiencia propia (none / 0) (#5)
por runlevel0 (exterATvullferPUNTes) a las Wed Sep 4th, 2002 at 10:52:44 PM CET
(Información Usuario) http://perso.wanadoo.es/exter

Por propia experiencia te podría recomendar TCL/TK, TK ya lo comentas y TCL es un lenguaje de script (TK son extensiones GUI de TCL).
Tcl es tan fácil como perl (o más).
La ventaja si sabes programar la shell es que puedes llamar a los programas desde los scripts TCL o programar tus propios binarios en lo que quieras (yo lo hago en C y C++) y usar TCL/TK como "pegamento" y como GUI.

Por otra parte TCL/T se aprende muy fácilmente (en unas pocas horas ya estás haciendo cosas), así que vale la pena, aunqué luego uses otros lenguajes.

Un ejemplo: un pequeño firewall que cierra los puertos que tengas abiertos leyendo de netstat con un GUI mínimo, así podrás hacerte una idea de cómo se pueden usar ejecutables externos.
Uso: Corta, pega y prueba ;)

<código>

#! /usr/bin/wish
# zenfire cutre-firewall
# EULA: "We 0wnz0r y0ur B0xorz!"

proc port args {

set list00 [ exec netstat -tupan 2> /dev/null | grep LISTEN | tr -d \[:alpha:\] ]
set list01 [ split $list00 ?:? ]
set ip_stat [ exec /sbin/ifconfig | grep inet | head -n 1 ]
set ip0 [ string trim [ string range $ip_stat 10 36 ] "inet addr:P-t"]
set max [ llength $list01 ]
set if_stat [ exec cat /proc/net/dev | grep ppp ]
set ifc [ string range $if_stat 0 5 ]

exec iptables -F
exec iptables -X

for { set i 1 } { $i < $max } { incr i } {
set rlist [ lrange $list01 $i $i ]
set list [ string range $rlist 1 5 ]
set list2 [ string trim $list ]
exec iptables -A INPUT -i $ifc -p tcp --tcp-flags SYN,RST SYN -s ! localhost -d $ip0 --dport $list2 -j REJECT
set i [ expr $i + 1 ]
}

}

label .title -text "Zen Firewall 0.1"
label .fire01 -text firewall

button .go -text GO! -command { port }
button .exit -text close -command { exit }

grid .title -col 1 -row 1
grid .fire01 -col 1 -row 2
grid .go -col 2 -row 2
grid .exit -col 3 -row 2

</código>
-- S41002


 

Iniciarse en la programación | 5 comentarios (1 temáticos, 4 editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda