Telnet服務器的研究與實現

蝸牛vps 大硬盤VPS 2020-07-19 432 0

  摘要:Telnet作為一種遠程登錄的手段,有著比較廣泛的應用,本次設計的Telnet服務器功能比較簡單、規模也較小,只實現了多線程登陸和執行簡單指令功能。
  關鍵詞:Telnet;服務器;研究
  中圖分類號:TP393.09 文獻標識碼:A 文章編號:1007-9599?。?012) 19-0000-02
  當服務器上運行Telnet 服務器時,用戶可以在遠程計算機使用Telnet客戶端從連接服務器。當Telnet客戶連接到Telnet服務器時,需要驗證用戶信息,正確后才能登錄該服務器。登錄之后,用戶將接收到命令提示符,然后用戶就可以象在本地打開的命令提示符窗口中一樣使用。
  1 Telnet服務器的基本要求
 ?。?)使用基本的套接口函數進行開發,即使用socket()、bind()、listen()、accept()等
 ?。?)不使用圖形界面,只要能用文本顯示相關信息即可,另外,需要把這些相關信息寫入到一日志文件中(文件名為:學號.txt)
 ?。?)客戶端通過Telnet連接后,服務器返回系統的一些信息(自己定義,至少應該包括程序作者的學號),之后顯示提示符"login:"提示用戶輸入用戶名進行登錄
 ?。?)要求對用戶名和密碼進行驗證。用戶名和密碼均為學號的后3位。如果用戶名和密碼錯誤則返回invalid user or passwd并提示重新輸入
 ?。?)服務器端至少支持如下命令(以下命令可帶參數,也可不帶,各人根據自己的能力來完成)
  author:返回程序作者的相關信息
  date:返回服務器的當前日期,在help中做出說明
  time:返回服務器的當前時間,在help中做出說明
  help:返回服務器所支持的命令
  bye:與服務器斷開連接
  若輸入了不支持的命令,則應回顯相應的提示,如提示用戶鍵入help來查看相應的命令
  2 概要設計
 ?。?)等待連接模塊。本模塊的主要功能是對TCP協議進行三次握手并等待客戶端的連接,每有一個客戶端連接則為它創建一個線程,以此來實現多線程工作。
 ?。?)登陸模塊。用于輸出歡迎詞和服務器的相關信息,接收客戶端輸入的用戶名和密碼,將它們與服務器設置的用戶名和密碼進行比較。如果錯誤則繼續提示客戶端繼續輸入登陸信息。否則進入相關命令的操作。
 ?。?)命令模塊。對客戶端輸入的命令進行相應的操作。
 ?。?)接收字符模塊。主要是接收客戶端的信息,并進行收集存放到一個string類型中,方便服務器端進行相關的操作等。
  模塊間的調用如下圖所示
  3 詳細設計說明
 ?。?)等待連接模塊。本模塊的主要功能是對TCP協議進行三次握手并等待客戶端的連接,每有一個客戶端連接則為它創建一個線程,以此來實現多線程工作。主要流程圖如下:
 ?。?)登陸模塊。用于輸出歡迎詞和服務器的相關信息,接收客戶端輸入的用戶名和密碼,將它們與服務器設置的用戶名和密碼進行比較。如果錯誤則繼續提示客戶端繼續輸入登陸信息。否則進入進入相關命令的操作。主要流程圖如下:
 ?。?)命令模塊。對客戶端輸入的命令進行相應的操作。
 ?。?)接收字符模塊。主要是接收客戶端的信息,并進行收集存放到一個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張

評論

日本韩欧美一级A片在线观看