Bibliothèque Telnet en C#

Muhammad Zeeshan 12 octobre 2023
  1. La bibliothèque Telnet en C#
  2. Applications de la bibliothèque Telnet en C#
  3. Conséquences de la librairie Telnet en C#
Bibliothèque Telnet en C#

Ce tutoriel expliquera la bibliothèque Telnet et démontrera une interface Telnet simple en C#.

La bibliothèque Telnet en C#

Telnet est un protocole de mise en réseau qui vous permet de vous connecter virtuellement à un ordinateur et d’établir un canal de communication textuel bidirectionnel et complémentaire entre deux postes de travail.

Il crée des sessions à distance à l’aide d’un protocole réseau TCP/IP (Transmission Control Protocol/Internet Protocol) de commande utilisateur.

Sur le Web, le protocole de transfert hypertexte (HTTP) et le protocole de transfert de fichiers (FTP) permettent simplement aux utilisateurs de demander des fichiers spécifiques à partir d’ordinateurs distants.

Cependant, Telnet permet aux utilisateurs de se connecter en tant qu’utilisateurs ordinaires avec les capacités fournies aux applications et données spécifiques sur cette machine.

Exemple:

Les applications possibles de cette classe incluent un terminal Telnet, une interface graphique Windows basée sur certaines commandes UNIX qui doivent être exécutées sur un serveur et un logiciel qui exécute des scripts telnet.

Ce code fournit à la fois un terminal minimaliste et la possibilité de déployer un script via la canalisation de fichiers.

Pour commencer, importez les bibliothèques suivantes :

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

Créez une classe Telnet dans l’espace de noms MinimalisticTelnet pour écrire le code.

namespace MinimalisticTelnet {
  class Telnet {}
}

Créez une nouvelle connexion telnet nommée Tcon avec le nom d’hôte shani sur le port 23 dans la fonction Main. Le protocole Telnet utilise généralement le port Port 23.

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

Construisez une variable de chaîne t qui contiendra les identifiants de connexion tels que root, rootpassword et timeout à l’aide de la méthode Login(). Nous avons fourni root, rootpassword, et un timeout de 130 secondes.

Il affichera la sortie du serveur, comme vous pouvez le voir dans la ligne de code suivante.

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

Après avoir obtenu la sortie du serveur, nous vérifierons la sortie du serveur. Il doit se terminer par $ ou > ; sinon, une exception sera levée avec le message Quelque chose s'est mal passé, échec de la connexion.

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

Maintenant, nous allons utiliser une boucle while et passer la connexion telnet Tcon en paramètre pour voir si elle est connectée ou non. S’il est connecté, la boucle s’exécutera ; sinon, il se terminera et affichera le message Disconnected.

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

Enfin, écrivez le code suivant dans le corps de la boucle while.

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

La sortie du serveur sera affichée dans la ligne de code suivante.

Console.Write(Tcon.Read());

Cela transmettra toutes les informations ou entrées du client au serveur.

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

Ce code affichera la sortie du serveur lorsque les informations du client auront été saisies.

Console.Write(Tcon.Read());

Exemple de code :

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();
    }
  }
}

Applications de la bibliothèque Telnet en C#

Telnet permet aux utilisateurs de se connecter à n’importe quel programme qui utilise des protocoles textuels non cryptés, tels que des serveurs Web et des ports.

Telnet peut être utilisé pour effectuer une série de tâches sur un serveur, y compris l’édition de fichiers, l’exécution de programmes et la vérification des e-mails.

Divers serveurs fournissent un accès à distance aux données publiques via Telnet, permettant aux utilisateurs de jouer à des jeux simples ou de consulter les prévisions météorologiques. Beaucoup de ces fonctionnalités persistent parce qu’elles sont nostalgiques ou compatibles avec des systèmes antérieurs nécessitant certaines données.

Conséquences de la librairie Telnet en C#

Telnet a une faille de sécurité. C’est un protocole non chiffré et non sécurisé.

Au cours d’une session Telnet, toute personne surveillant la connexion de l’utilisateur peut voir le nom d’utilisateur, le mot de passe et d’autres informations privées écrites en clair. Ces données peuvent être utilisées pour accéder à l’appareil de l’utilisateur.

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