zoukankan      html  css  js  c++  java
  • Telnet基本概念及C# Telnet 客户端程序

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

    Windows中Telnet基本使用方式:1.安装Telnet客户端(控制面板->程序和功能->启用或关闭Windows功能->Telnet客户端);2.使用快捷键Win+R打开运行窗口,输入cmd命令打开cmd.exe命令行程序(或找到具体的文件件路径C:WindowsSystem32cmd.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}
    ", Console.ReadLine());
                    streamWriter.Flush();
                }
            }
        }
    }
  • 相关阅读:
    九度oj 题目1465:最简真分数
    九度oj 题目1083:特殊乘法 清华大学2010年机试题目
    九度oj 题目1084:整数拆分 清华大学2010年机试题目
    九度oj 题目1085:求root(N, k) 清华2010年机试题目
    九度oj 题目1460:Oil Deposit
    九度oj 题目1459:Prime ring problem
    九度oj 题目1458:汉诺塔III
    九度oj 题目1457:非常可乐
    题目1451:不容易系列之一
    移动端滚动不流畅,添加-webkit-overflow-scrolling属性 值为touch
  • 原文地址:https://www.cnblogs.com/Arlar/p/7349039.html
Copyright © 2011-2022 走看看