Telnet基本概念及C# Telnet 客户端程序

时间:2022-08-28 12:19:29

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务器的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器,终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样,可以在本地主机就能控制远程服务器。

Windows中Telnet基本使用方式:1.安装Telnet客户端(控制面板->程序和功能->启用或关闭Windows功能->Telnet客户端);2.使用快捷键Win+R打开运行窗口,输入cmd命令打开cmd.exe命令行程序(或找到具体的文件件路径C:\Windows\System32\cmd.exe打开);3.输入telnet命令登录服务端(telnet ip/域名 端口[一般是23],再根据提示输入账号密码,之后就可以执行具体的telnet操作,如执行"display curr"取防火墙服务器配置)

C#程序实现的Telnet客户端:

using System;
using System.Net.Sockets;
using System.IO;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(
"目标IP:");
string ip = Console.ReadLine();
Console.WriteLine(
"目标Port:");
int port = int.Parse(Console.ReadLine());

Run(ip , port);
}

public static void Run(string ip , int port)
{
TcpClient tcpClient
= new TcpClient(ip, port);
NetworkStream networkStream
= tcpClient.GetStream();
StreamWriter streamWriter
= new StreamWriter(networkStream);
StreamReader streamReader
= new StreamReader(networkStream);

while (true)
{
//Read Echo
//Set ReadEcho Timeout
networkStream.ReadTimeout = 10;
try
{
while (true)
{
char c = (char)streamReader.Read();
if (c < 256)
{
if (c == 27)
{
while (streamReader.Read() != 109) { }
}
else
{
Console.Write(c);
}
}
}
}
catch
{

}

//Send CMD
streamWriter.Write("{0}\r\n", Console.ReadLine());
streamWriter.Flush();
}
}
}
}