Biblioteca Telnet en C#

Muhammad Zeeshan 12 octubre 2023
  1. La Biblioteca Telnet en C#
  2. Aplicaciones de la Biblioteca Telnet en C#
  3. Consecuencias de la librería Telnet en C#
Biblioteca Telnet en C#

Este tutorial explicará la biblioteca Telnet y demostrará una interfaz Telnet simple en C#.

La Biblioteca Telnet en C#

Telnet es un protocolo de red que le permite conectarse virtualmente a una computadora y establecer un canal de comunicación basado en texto bidireccional y de apoyo mutuo entre dos estaciones de trabajo.

Crea sesiones remotas utilizando un protocolo de red del Protocolo de control de transmisión/Protocolo de Internet (TCP/IP) de comando de usuario.

En la web, el Protocolo de transferencia de hipertexto (HTTP) y el Protocolo de transferencia de archivos (FTP) simplemente permiten a los usuarios solicitar archivos específicos desde computadoras remotas.

Sin embargo, Telnet permite que los usuarios inicien sesión como usuarios normales con las capacidades provistas para aplicaciones y datos específicos en esa máquina.

Ejemplo:

Las posibles aplicaciones de esta clase incluyen un terminal Telnet, una GUI de Windows basada en algunos comandos UNIX que deben ejecutarse en un servidor y software que ejecuta scripts Telnet.

Este código proporciona un terminal minimalista y la opción de implementar un script a través de canalización de archivos.

Para comenzar, importe las siguientes bibliotecas:

using System;
using System.Collections.Generic;
using System.Text;

Cree una clase Telnet en el espacio de nombres MinimalisticTelnet para escribir el código.

namespace MinimalisticTelnet {
  class Telnet {}
}

Cree una nueva conexión telnet llamada Tcon al nombre de host shani en el puerto 23 en la función Main. El protocolo Telnet suele utilizar el puerto Port 23.

TelnetConnection Tcon = new TelnetConnection("shani", 23);

Construya una variable de cadena t que contendrá credenciales de inicio de sesión como root, rootpassword y timeout con la ayuda del método Login(). Hemos proporcionado root, rootpassword y un timeout de 130 segundos.

Mostrará la salida del servidor, como puede ver en la siguiente línea de código.

string t = Tcon.Login("root", "rootpassword", 130);
Console.Write(t);

Después de obtener la salida del servidor, verificaremos la salida del servidor. Debe concluir con $ o >; de lo contrario, se lanzará una excepción con el mensaje Something went wrong, failed to connect.

string Prmpt = t.TrimEnd();
Prmpt = t.Substring(Prmpt.Length - 1, 1);
if (Prmpt != "$" && Prmpt != ">")
  throw new Exception("Something went wrong failed to connect ");
Prmpt = "";

Ahora, usaremos un bucle while y pasaremos la conexión telnet Tcon como parámetro para ver si está conectado o no. Si está conectado, el bucle se ejecutará; de lo contrario, terminará y mostrará el mensaje Disconnected.

while (Tcon.IsConnected && Prmpt.Trim() != "exit") {
}
Console.WriteLine("Disconnected");
Console.ReadLine();

Por último, escribe el siguiente código en el cuerpo del bucle while.

while (Tcon.IsConnected && Prmpt.Trim() != "exit") {
  Console.Write(Tcon.Read());
  Prmpt = Console.ReadLine();
  Tcon.WriteLine(Prmpt);
  Console.Write(Tcon.Read());
}

La salida del servidor se mostrará en la siguiente línea de código.

Console.Write(Tcon.Read());

Esto transmitirá toda la información o entrada del cliente al servidor.

Prmpt = Console.ReadLine();
Tcon.WriteLine(Prmpt);

Este código mostrará la salida del servidor cuando se haya ingresado la información del cliente.

Console.Write(Tcon.Read());

Código de ejemplo:

using System;
using System.Collections.Generic;
using System.Text;

namespace MinimalisticTelnet {
  class Telnet {
    static void Main(string[] args) {
      TelnetConnection Tcon = new TelnetConnection("shani", 23);
      string t = Tcon.Login("root", "rootpassword", 130);
      Console.Write(t);
      string Prmpt = t.TrimEnd();
      Prmpt = t.Substring(Prmpt.Length - 1, 1);
      if (Prmpt != "$" && Prmpt != ">")
        throw new Exception("Something went wrong failed to connect ");
      Prmpt = "";
      while (Tcon.IsConnected && Prmpt.Trim() != "exit") {
        Console.Write(Tcon.Read());
        Prmpt = Console.ReadLine();
        Tcon.WriteLine(Prmpt);
        Console.Write(Tcon.Read());
      }
      Console.WriteLine("Disconnected");
      Console.ReadLine();
    }
  }
}

Aplicaciones de la Biblioteca Telnet en C#

Telnet permite a los usuarios conectarse a cualquier programa que utilice protocolos no cifrados basados ​​en texto, como servidores web y puertos.

Telnet se puede usar para realizar una variedad de tareas en un servidor, incluida la edición de archivos, la ejecución de programas y la verificación de correo electrónico.

Varios servidores brindan acceso remoto a datos públicos a través de Telnet, lo que permite a los usuarios jugar juegos simples o consultar pronósticos meteorológicos. Muchas de estas características persisten porque son nostálgicas o compatibles con sistemas anteriores que requieren ciertos datos.

Consecuencias de la librería Telnet en C#

Telnet tiene una falla de seguridad. Es un protocolo no cifrado y no seguro.

Durante una sesión de Telnet, cualquier persona que supervise la conexión del usuario puede ver el nombre de usuario, la contraseña y otra información privada del usuario escrita en texto sin formato. Estos datos se pueden utilizar para obtener acceso al dispositivo del usuario.

Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn