Telnet-Bibliothek in C#

Muhammad Zeeshan 12 Oktober 2023
  1. Die Telnet-Bibliothek in C#
  2. Anwendungen der Telnet-Bibliothek in C#
  3. Konsequenzen der Telnet-Bibliothek in C#
Telnet-Bibliothek in C#

Dieses Tutorial erklärt die Telnet-Bibliothek und demonstriert eine einfache Telnet-Schnittstelle in C#.

Die Telnet-Bibliothek in C#

Telnet ist ein Netzwerkprotokoll, das es Ihnen ermöglicht, sich virtuell mit einem Computer zu verbinden und einen bidirektionalen, sich gegenseitig unterstützenden, textbasierten Kommunikationskanal zwischen zwei Arbeitsstationen einzurichten.

Es erstellt Remote-Sitzungen unter Verwendung eines Benutzerbefehls TCP/IP-Netzwerkprotokoll (Transmission Control Protocol/Internet Protocol).

Im Web erlauben das Hypertext Transfer Protocol (HTTP) und das File Transfer Protocol (FTP) Benutzern lediglich, bestimmte Dateien von entfernten Computern anzufordern.

Telnet ermöglicht es Benutzern jedoch, sich als normale Benutzer mit den Funktionen anzumelden, die für die spezifischen Anwendungen und Daten auf diesem Computer bereitgestellt werden.

Beispiel:

Zu den möglichen Anwendungen dieser Klasse gehören ein Telnet-Terminal, eine Windows-GUI, die auf einigen UNIX-Befehlen basiert, die auf einem Server ausgeführt werden müssen, und Software, die Telnet-Skripte ausführt.

Dieser Code bietet sowohl ein minimalistisches Terminal als auch die Option, ein Skript über Datei-Piping bereitzustellen.

Importieren Sie zunächst die folgenden Bibliotheken:

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

Erstellen Sie eine Telnet-Klasse im Namespace MinimalisticTelnet, um den Code zu schreiben.

namespace MinimalisticTelnet {
  class Telnet {}
}

Erstellen Sie in der Funktion Main eine neue Telnet-Verbindung mit dem Namen Tcon zum Hostnamen shani auf Port 23. Das Telnet-Protokoll verwendet normalerweise den Port Port 23.

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

Erstellen Sie mit Hilfe der Methode Login() eine String-Variable t, die Anmeldeinformationen wie root, rootpassword und timeout enthält. Wir haben root, rootpassword und ein timeout von 130 Sekunden angegeben.

Es zeigt die Serverausgabe, wie Sie in der folgenden Codezeile sehen können.

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

Nachdem wir die Serverausgabe erhalten haben, überprüfen wir die Serverausgabe. Es sollte mit $ oder > enden; Andernfalls wird eine Ausnahme mit der Meldung Something went wrong, failed to connect ausgelöst.

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

Jetzt verwenden wir eine while-Schleife und übergeben die Telnet-Verbindung Tcon als Parameter, um zu sehen, ob sie verbunden ist oder nicht. Wenn es verbunden ist, wird die Schleife ausgeführt; andernfalls wird es beendet und die Meldung Disconnected angezeigt.

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

Schreiben Sie zuletzt den folgenden Code in den Körper der while-Schleife.

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

Die Ausgabe des Servers wird in der folgenden Codezeile angezeigt.

Console.Write(Tcon.Read());

Dadurch werden alle Informationen oder Eingaben des Clients an den Server übertragen.

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

Dieser Code zeigt die Ausgabe des Servers an, wenn die Informationen des Clients eingegeben wurden.

Console.Write(Tcon.Read());

Beispielcode:

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

Anwendungen der Telnet-Bibliothek in C#

Telnet ermöglicht es Benutzern, sich mit jedem Programm zu verbinden, das textbasierte, unverschlüsselte Protokolle verwendet, wie z. B. Webserver und Ports.

Telnet kann verwendet werden, um eine Reihe von Aufgaben auf einem Server auszuführen, einschließlich Dateibearbeitung, Programmausführung und E-Mail-Überprüfung.

Verschiedene Server bieten Fernzugriff auf öffentliche Daten über Telnet, sodass Benutzer einfache Spiele spielen oder Wettervorhersagen abrufen können. Viele dieser Funktionen bleiben bestehen, weil sie nostalgisch sind oder mit früheren Systemen kompatibel sind, die bestimmte Daten erfordern.

Konsequenzen der Telnet-Bibliothek in C#

Telnet hat eine Sicherheitslücke. Es ist ein unverschlüsseltes, unsicheres Protokoll.

Während einer Telnet-Sitzung kann jeder, der die Verbindung des Benutzers überwacht, den Benutzernamen, das Kennwort und andere private Informationen im Klartext sehen. Diese Daten können verwendet werden, um Zugriff auf das Gerät des Benutzers zu erhalten.

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