Saltar la navegación

4.4.- Programación de un cliente Telnet.

Hombre sentado trabajando con un ordenador.

Telnet (TELecommunication NETwork) es un protocolo que permite acceder a otro equipo de la red y adminstrarlo de forma remota, esto es, como si estuviéramos sentados delante de él.

El protocolo Telenet está basado en:

  • El modelo cliente/servidor, por lo que su esquema básico de funcionamiento será el típico de esta arquitectura.
  • El servidor escucha las peticiones por el puerto 23.
  • Su funcionamiento es en modo texto.

Este servicio puede resultar muy útil para administrar por ejemplo equipos sin pantalla o teclado, o bien servidores apilados en un rack o que no estén físicamente presentes.

En la actualidad, no se suele utilizar, debido a la poca seguridad que ofrece, ya que toda la información que se intercambia entre servidor y cliente, incluidos usuario y contraseña, se transmiten en texto plano. Esto es así, porque Telnet se creó pensando en la facilidad de uso y no en la seguridad. En su lugar, se utiliza un servicio de acceso y control remoto basado en el protocolo SSH.

Veremos un ejemplo de programación de un cliente Telnet, sólo a modo ilustrativo de uso de otra biblioteca proporcionada por el API de Apache, org.apache.commons.net, que ya te descargaste en los apartados anteriores.

La biblioteca necesaria es org.apache.commons.net.telnet. Para disponer de ella, tendremos que agregar a las bibliotecas del proyecto, como en el ejemplo de FTP, el archivo commons-net-n.x.x.jar. Entre las clases que proporciona para programar un cliente Telnet está:

  • Clase TelnetClient. Permite implementar un terminal virtual para el protocolo Telnet. Hereda de la clase SocketClient.
    • El método SocketClient.connect() realiza la conexión al servidor .
    • Los métodos TelnetClient.getInputStream() y TelnetClient.getOutputStream() permiten a través de objetos InputStream() y OutputStream() enviar y recibir datos a través de la conexión Telnet.
    • El método TelnetClient.disconnect() cierra la conexión al servidor, así como los flujos de entrada y salida y el socket abiertos.

En el siguiente enlace puedes ver el código de programación de un cliente Telnet. (Puedes utilizar las bibliotecas de Apache para Telnet o bien las indicadas en el ejemplo).

Autoevaluación

Pregunta 1

Señala si la afirmación siguiente es verdadera o falsa:

El método telnet.connect(“Miservidor”) realiza una conexión TelnetTelnet al servidor remoto Miservidor.