Telnet con IO::Socket (Ayuda, por favor)
Alberto
albertito@usa.net
Thu, 12 Feb 1998 14:48:15
Hola a todos:
[No se si llego el otro msg, asiqyue lo mando de nuevo. Mis disculpas si se ha duplicado]
Soy nuevo en esta lista de correo, asique sirva esto de presentación tambien. Hace poco que
programo (mejor dicho, intento programar) en Perl, y me parece un lenguaje muy flexible y
potente, a la vez que muy sencillo, lo cual siempre es de agradecer. La verdad es que me gusto
desde que lo ví :)
Bueno, voy al grano. Estoy haciendo un programa que conecte a un puerto (el que yo elija) en
varias máquinas, y que me saque por pantalla lo que saldría de conectar realmente a ese puerto, y
me lo almacene. Todo me funciona mas o menos bien, pero cuando el puerto que pongo es el de
telnet (23), la cosa se me queda como "colgada" y no me saca nada por pantalla, solo espera a que
yo meta algo, y no hace nada. Otros puertos funcionan bien, pero no se porque, este no. El código
que estoy usando es el de IO::Socket porque me ha parecido leer que es el mas nuevo y mejor si se
dispone de la version de Perl adecuada. Yo ya os digo que soy bastante nuevo en esto, pero de
todas formas creo que es la mejor forma de hacerlo por lo que he leido.
Bien, resumo: mi problema es que quiero conectar al puerto de telnet, capturar lo que me salga en
pantalla, y cortar la conexion, de forma que pueda pasar al siguiente ordenador para hacerle otro
telnet, y asi sucesivamente.
Os pongo el codigo por aqui a ver si me podeis hechar una manita :)
#!/usr/bin/perl -w
use IO::Socket;
$remote = IO::Socket::INET->new(
Proto =>"tcp",
PeerAddr =>"localhost",
PeerPort =>"telnet(23)",) or die "No puedo conectar a ese puerto";
while ( <$remote> )
{
$linea=<$remote>; #hacemos que mientras que mande cosas el server
print $linea; #remoto, este pintandose en pantalla todo el rato
last if !<$remote>; #esta instruccion hace que ponga en pantalla toda la salida hasta que
acabe
};
#Fin del codigo, y thx por todo :)
Saludos
Alberto
____________________________________________________________________
Get free e-mail and a permanent address at http://www.netaddress.com