Telnet服务器的研究与实现

蜗牛vps 大硬盘VPS 2020-07-19 546 0

  摘要:Telnet作为一种远程登录的手段,有着比较广泛的应用,本次设计的Telnet服务器功能比较简单、规模也较小,只实现了多线程登陆和执行简单指令功能。
  关键词:Telnet;服务器;研究
  中图分类号:TP393.09 文献标识码:A 文章编号:1007-9599 (2012) 19-0000-02
  当服务器上运行Telnet 服务器时,用户可以在远程计算机使用Telnet客户端从连接服务器。当Telnet客户连接到Telnet服务器时,需要验证用户信息,正确后才能登录该服务器。登录之后,用户将接收到命令提示符,然后用户就可以象在本地打开的命令提示符窗口中一样使用。
  1 Telnet服务器的基本要求
  (1)使用基本的套接口函数进行开发,即使用socket()、bind()、listen()、accept()等
  (2)不使用图形界面,只要能用文本显示相关信息即可,另外,需要把这些相关信息写入到一日志文件中(文件名为:学号.txt)
  (3)客户端通过Telnet连接后,服务器返回系统的一些信息(自己定义,至少应该包括程序作者的学号),之后显示提示符"login:"提示用户输入用户名进行登录
  (4)要求对用户名和密码进行验证。用户名和密码均为学号的后3位。如果用户名和密码错误则返回invalid user or passwd并提示重新输入
  (5)服务器端至少支持如下命令(以下命令可带参数,也可不带,各人根据自己的能力来完成)
  author:返回程序作者的相关信息
  date:返回服务器的当前日期,在help中做出说明
  time:返回服务器的当前时间,在help中做出说明
  help:返回服务器所支持的命令
  bye:与服务器断开连接
  若输入了不支持的命令,则应回显相应的提示,如提示用户键入help来查看相应的命令
  2 概要设计
  (1)等待连接模块。本模块的主要功能是对TCP协议进行三次握手并等待客户端的连接,每有一个客户端连接则为它创建一个线程,以此来实现多线程工作。
  (2)登陆模块。用于输出欢迎词和服务器的相关信息,接收客户端输入的用户名和密码,将它们与服务器设置的用户名和密码进行比较。如果错误则继续提示客户端继续输入登陆信息。否则进入相关命令的操作。
  (3)命令模块。对客户端输入的命令进行相应的操作。
  (4)接收字符模块。主要是接收客户端的信息,并进行收集存放到一个string类型中,方便服务器端进行相关的操作等。
  模块间的调用如下图所示
  3 详细设计说明
  (1)等待连接模块。本模块的主要功能是对TCP协议进行三次握手并等待客户端的连接,每有一个客户端连接则为它创建一个线程,以此来实现多线程工作。主要流程图如下:
  (2)登陆模块。用于输出欢迎词和服务器的相关信息,接收客户端输入的用户名和密码,将它们与服务器设置的用户名和密码进行比较。如果错误则继续提示客户端继续输入登陆信息。否则进入进入相关命令的操作。主要流程图如下:
  (3)命令模块。对客户端输入的命令进行相应的操作。
  (4)接收字符模块。主要是接收客户端的信息,并进行收集存放到一个string类型中,方便服务器端进行相关的操作等。主要流程图如下:
  4 结束语
  Telnet服务器的实现对于计算机网络初学者来说,加深了对TCP/IP协议的理解。本次设计的Telnet服务器只是实现了简单的指令功能,功能还不够强大,但是对多线程操作及网络编程有了深刻的认识,为对Telnet服务器的更深一步研究打下了良好的基础。
  参考文献:
  [1]卢爱卿,张会勇,赵征. Telnet协议的实现原理及应用[J].计算机工程,2002.
  [2]马坤,杨波. Telnet协议在网管系统中的应用[J].信息技术与信息化,2006.
  [3]王雷.详解telnet[J].黑河科技.2003.
  [4]李华生,李亚鹃,王皞. 浅析Telnet协议及其运用[J].江西电力,2011.

Telnet服务器的研究与实现  第1张

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram