TCP/IP 協議之 Telnet

來源:互聯網
上載者:User
1、一種通用的C/S應用程式(TELNET 是 terminal network縮寫),讓使用者登陸到遠端電腦上運行那邊的程式,然後將結果回顯。

2、網路虛擬終端(NVT):為不同的系統統一了字元集。

(1)、字元集用兩種,一種當普通的資料,和ASCII嘛的0-127意義相同(就是以開頭一bit為0)。
一種是遠端控制字元,開頭一bit為1,比如IAC為0xff,SE為0xf0,SB為0xfa等等。

(2)、嵌入指令,在TELNET中,命令資料是混在普通資料當中的,分開的標記就是命令指令之前有一個特殊字元IAC(0xff),意思是“解釋為命令”。

(3)、選項與選項協商

a、選項,讓雙方提供相應的選項,比如0x01代表回顯,0x18代表終端類型。

b、協商,有如下的控制字元用於協商,WILL(0xfb),WONT(0xfc),DO(0xfd),DONT(0xfe)

選項協商過程如下:

WILL,WONT代表“將要提供,問對方是否同意”,對方只能用DO或DONT來回答(注意的是WONT的回答只能是DONT)

DO,DONT代表“要請求對方提供”,對方回答用WILL或WONT(對DONT的回答只能用WONT)

例子:

一端傳資料如下:(0xff 0xfd 0x01)IAC DO ECHO ,對方回答如下:(0xff 0xfb 0x01)IAC WILL ECHO

c、子選項的開始和結束:標記為SB(0xfa)和SE(0xf0)

3、TELNET的過程:本地的輸入經終端驅動到TELNET程式,TELNET程式換成NVT字元集,再經過封裝發送到遠程機,遠程機經過TCP協議棧解析該包後,經TELNET程式入手把NVT字元集翻譯成本地命令,然後偽裝終端輸入傳給為終端程式解析,把結果傳給要做的應用程式。

也就是說:命令和字元是由遠程機解釋的

但是有時要對本地程式進程式控制制,用逸出字元,比如中斷,如果按[^C]是傳給遠端,如果要本地的程式中斷,要用[^]]

4、操作方式,有三種:預設,字元方式,和行方式;

預設是使用者按鍵後,客戶器進行回顯處理,當按完一行後,進行發送,但是要等待GA控制符(半雙工狀態),基本不用

字元方式:使用者每按一鍵,字元經傳輸到伺服器處理,再回顯結果,浪費網路

行方式:和預設不同的是,不用等GA控制符(全雙工系統方式),現在一般用這個。注意行結束符用CR LF("/r/n")表示。

所以現在的TELNET包中一般有0x22選項(IAC DO 0x22),(0x22是改變到行方式的選項)

5、安全問題,不大安全。

6、類似協議:SSH(Secure SHell),Rlogin等

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.