Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Agosto 21, 2008, 06:06:20
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Php (Moderadores: RuB, SaTeLuCo)  |  Tema: Emulador Telnet con Php? 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Emulador Telnet con Php?  (Leído 396 veces)
Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« en: Diciembre 18, 2007, 07:18:50 »

Alguien puede darme una luz sobre como puedo programar un Emulador Telnet en Php.

(un Script que me permita hacer una conexion Telnet a un servidor y puerto especifico y   enviar- recibir mensajes)

O si alguien sabe de un script ya hecho pues mucho mejor... xD


Please!! ayuda...
En línea

©©
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 2325


Goku


Ver Perfil
« Respuesta #1 en: Diciembre 18, 2007, 08:24:45 »

Bueno pues creo que tendras que hacer el sciprt tu mismo  Smiley
En línea

Antiguamente era de zix
Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #2 en: Diciembre 18, 2007, 08:34:18 »

Bueno pues creo que tendras que hacer el sciprt tu mismo  Smiley

Si...  Roll Eyes

Pero el punto es que si alguien puede guiarme para hacerlo, es decir..

Se manejar sockets, etc, etc, etc...

Pero la duda que tengo es que si con un socket que conecte a la direccion que que quiero manejar por telnet y recoger las respuestas como texto basta...  Huh


Sip?  Nop? Help... Tongue
En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #3 en: Diciembre 18, 2007, 08:38:18 »

Puedes hacer un bucle para ir recibiendo lo que entra, mira ejemplos

http://www.geckotribe.com/php-telnet/
http://usuarios.lycos.es/dejalatele/?p=67

Saludos!
En línea



©©
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 2325


Goku


Ver Perfil
« Respuesta #4 en: Diciembre 18, 2007, 09:18:29 »

Bueno si un bucle en parte es buena idea
En línea

Antiguamente era de zix
Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #5 en: Diciembre 18, 2007, 09:20:16 »

Lo logre!!!

Ya encontre la manera de como programarlo... xD

Ahora bien.. alguien sabe de algun Host que permita abrir sockets?¿

Para poder subir el Telnet PHP..  Grin
En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #6 en: Diciembre 18, 2007, 09:20:54 »

Gratis?
En línea



©©
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 2325


Goku


Ver Perfil
« Respuesta #7 en: Diciembre 18, 2007, 09:34:07 »

Gratis?

Pues me imagino que sera gratis
En línea

Antiguamente era de zix
SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #8 en: Diciembre 18, 2007, 09:40:35 »

gratis creo que no vas a encontrar ningun, te recomiendo que te compres uno baratito, para hacer tus pruebas
ahi, hoy en dia no son tan caros
En línea



Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #9 en: Diciembre 20, 2007, 10:30:42 »

Si... se que seria lo mejor pero el problema es que me faltan 6 meses para tener la edad sufuciente para poder abrir una cuenta bancaria, y por ende tener una tarjeta de credito internacional o una cuenta Paypal con las cuales alquilar un servidor pago.. por eso a fuerza  necesito uno Free..  Grin
En línea

Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #10 en: Diciembre 20, 2007, 10:54:24 »

Hola... Necesito ayuda..
Tengo un problema con el emulador de telnet que estoy creando  Undecided

el problema es el siguiente:

Tengo la coneccion con el servidor abierta, un inputbox donde ingreso el comando que le enviare al servidor, y el textarea donde se deben ver todos los comandos enviados y las respuestas recibidas. Pero para enviar un comando lo envio a la misma pagina en forma de formulario con Post y luego lo trato de enviar con fputs, pero al hacerlo me da error:

"Warning: fputs(): supplied argument is not a valid stream resource in ****\***.php on line 138"  :huh:

imagino que esto ocurre debido a que en el momento en que llamo de nuevo a la pagina para enviarle un nuevo comando la coneccion que he abierto en un principio se pierde, y el identificador de la coneccion que le paso a fputs no es valido.

Alguien sabe como puedo recoger el comando del input box y actualizar el contenido del textarea sin perder la coneccion??? 

Ayuda...  Tongue
« Última modificación: Diciembre 20, 2007, 10:54:43 por Drakegon » En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #11 en: Diciembre 20, 2007, 01:52:19 »

pon el codigo o parte del codigo, para ayudarte mejor
En línea



Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #12 en: Diciembre 20, 2007, 03:27:37 »

pon el codigo o parte del codigo, para ayudarte mejor

Code: Page.php
Obtengo el servidor al que me voy a conectar...

Citar

<?php
session_start();//Start  session
header("Cache-control: provate");//Fix the IE6 Sessions problem
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="page2.php" method=post>
<input name="server" type="text" id="text" />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>



CODE: page2.php
Aqui hago todo el manejo... El problema es que el identificador del Socket de la conexion se desaparece en cuanto intento enviar un commando..  Undecided

Citar

<?php
session_start();//Start out session
header("Cache-control: provate");//Fix the IE6 Sessions problem
?>

<?php

if($HTTP_POST_VARS["server"])
   {
   $_SESSION['server'] = $HTTP_POST_VARS["server"];
   $_SESSION['conection'] = fsockopen($_SESSION['server'],25);
   $_SESSION['screen']=fgets($_SESSION['conection'],256);
   }
   
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Typer" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body>
<p align="center" class="style1">SERVER: <?php print($_SESSION['server']) ?> </p>
<p align="center" class="style1">CONECTION: <?php print($_SESSION['conection']) ?> </p>
<p align="center">

<?php

if($HTTP_POST_VARS["command"])
   {
   fwrite($_SESSION['conection'], $HTTP_POST_VARS["command"]);
   $response=fgets($_SESSION['conection'],256) ;
   $_SESSION['screen'] = $_SESSION['screen']."\r\n". $HTTP_POST_VARS["command"]."\r\n".$response;
   }
   
?>


<form action="page2.php" method=post>
  <div align="center">
  <textarea name="Tex" cols="40" rows="10" id="Tex"><?php print($_SESSION['screen'])?>
</textarea>
  </p>
  </div>
<p align="center">
  <input name="command" type="command" id="command" />
</p>
<p align="center">
  <input type="submit" name="Submit" value="Submit" />
</p>
</body>
</html>



« Última modificación: Diciembre 20, 2007, 03:32:55 por Drakegon » En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #13 en: Diciembre 20, 2007, 03:37:45 »

El codigo lo hiciste tu? o estas usando uno que hiso alguien mas?
En línea



Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #14 en: Diciembre 20, 2007, 03:39:35 »

Lo hice yo...
Pero no logro saber  por que el identificador de la conexion se pasa a "0" encuanto intento enviar el primer comando...  Undecided

Alguna idea?
« Última modificación: Diciembre 20, 2007, 03:41:57 por Drakegon » En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #15 en: Diciembre 20, 2007, 03:44:01 »

Ok mira para ir depurando el codigo puedes imprimir la variable que te esta provocando ese error, dice que no es
un argumento valido para la funcion fputs, como el codigo no esta completo no puedo saber cual es la linea 138 y
tampoco se que fichero cuasa el error, en fin....

Usa print_r para ver que trae la variable, aver si alguien mas te quiere ayudar...
En línea



Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #16 en: Diciembre 20, 2007, 03:50:34 »

Ok mira para ir depurando el codigo puedes imprimir la variable que te esta provocando ese error, dice que no es
un argumento valido para la funcion fputs, como el codigo no esta completo no puedo saber cual es la linea 138 y
tampoco se que fichero cuasa el error, en fin....

Usa print_r para ver que trae la variable, aver si alguien mas te quiere ayudar...

El codigo no esta completo?¿  Huh

Son dos paginas php: page1.php y page2.php
Ambas completas,  Tongue

Y pues estoy imprimiendo la variable para lo de la depuración:

Citar
<p align="center" class="style1">CONECTION: <?php print($_SESSION['conection']) ?> </p>

Y devuelve "0" cuando se genera el error...

La duda que me ha entrado es si el error se genera por el hecho de usar fsockopen() en lugar de socket_create()...  Tongue

Asi que probare y si lo arreglo les digo...

PD: si alguien ve la manera de arreglar el codigo tal cual posteala...  Grin
En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #17 en: Diciembre 20, 2007, 03:58:28 »

No habia visto, porque cuando respondiste solo pusiste el codigo de la primer pagina, despues modificaste
tu mensaje y pusiste el segundo...

Probablemente no puedas meter el identificador de una conexión en una sesion, no lo se nunka lo he intentado

Te puedes basar en esta clase
http://cvs.adfinis.ch/cvs.php/phpStreamcast/telnet.class.php

Ejemplo de uso:
Código:
<?php
$telnet 
= new Telnet('telnethost.example.com');

$telnet->login('username''password');
echo 
$telnet->exec('ifconfig') . "\n";
echo 
$telnet->exec('ls -lh') . "\n";
$telnet->disconnect();
?>


Usala y mete la variable $telnet en una session, haber si no te suelta error
En línea



Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #18 en: Diciembre 20, 2007, 04:16:51 »

No habia visto, porque cuando respondiste solo pusiste el codigo de la primer pagina, despues modificaste
tu mensaje y pusiste el segundo...

Probablemente no puedas meter el identificador de una conexión en una sesion, no lo se nunka lo he intentado

Te puedes basar en esta clase
http://cvs.adfinis.ch/cvs.php/phpStreamcast/telnet.class.php

Ejemplo de uso:
Código:
<?php
$telnet 
= new Telnet('telnethost.example.com');

$telnet->login('username''password');
echo 
$telnet->exec('ifconfig') . "\n";
echo 
$telnet->exec('ls -lh') . "\n";
$telnet->disconnect();
?>


Usala y mete la variable $telnet en una session, haber si no te suelta error

Buena sugerencia, pero prefiero hacerlo manual  Tongue
Lo que sucede es que recien estoy terminando de aprender Php y pues quiero probar que tanto aprendi e ir tomando experiencia... (no es que este buscando  un emulador telnet cualquiera)

De cualquier manera hice la sustitución de  fsockopen() por socket_create(),
y pues aunque ya logre almacenar el identificador del socket en la sesion, ahora me devuelve un nuevo error:

Citar
Warning: socket_write() expects parameter 1 to be resource, integer given in C:\AppServ\www\page2.php on line 39

Warning: socket_read() expects parameter 1 to be resource, integer given in C:\AppServ\www\page2.php on line 40

line 39:
Citar
socket_write($_SESSION['socket'], $HTTP_POST_VARS["command"]);

line 40:
Citar
$response=socket_read($_SESSION['socket'],256) ;

si alguien sape por que...
DIGAME POR  FAVOR:::  Cry

Sino pues seguire probando y cuando lo consiga aviso..  Wink

Salu2..
En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #19 en: Diciembre 20, 2007, 04:28:32 »

Modifica tu firma ya te lo han avisado 2 veces por mensaje personal, veo que no lo has hecho
estas rompiendo las reglas del foro...
En línea



Drakegon
Miembro
*****
Desconectado Desconectado

Mensajes: 93



Ver Perfil
« Respuesta #20 en: Diciembre 20, 2007, 05:07:02 »

Modifica tu firma ya te lo han avisado 2 veces por mensaje personal, veo que no lo has hecho
estas rompiendo las reglas del foro...

Ok... no habia visto los MPs.
Ya reduci las dimensiones de la firma... por que supongo que esa era la violacion a las normas...  Roll Eyes

Salu2...
En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #21 en: Diciembre 20, 2007, 05:11:56 »

Como estas creando el socket?
En línea



SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 484


Ver Perfil WWW
« Respuesta #22 en: Diciembre 20, 2007, 05:16:43 »

Bueno no quiero entrar en teoria ni nada, por eso te remito a la referencia de php para crear sockets...

http://php.net/socket_create
http://php.net/manual/en/function.socket-connect.php

Saludos!
En línea



Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Php (Moderadores: RuB, SaTeLuCo)  |  Tema: Emulador Telnet con Php? « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC