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