TCP/IP 與 Internet 網路:第十一章 網路終端機系統  上一頁           下一頁

 

翻轉工作室:粘添壽

 

11-6 Telnet 連線範例

我們在 Linux-1163.15.2.62)上利用 Telnet 程式,連線到 Linux-2163.15.2.30),來觀察它們之間協議的情形。首先我們在 Linux-1 主機上執行 Telnet 命令,再設定成顯示所有命令執行情形,執行結果如下:(其中 SEND 表示由客戶端送給伺服端,RCVD 表示接收來自伺服端,隨後括弧內為說明)

[tsnien@linux-1 tsnien]$ telnet (執行 telnet 命令,並進入 telnet 工作環境)

telnet> toggle options             (開啟顯示處理情形)

Will show option processing.

telnet> open 163.15.2.30          (連線到 163.15.2.30

Trying 163.15.2.30...

Connected to 163.15.2.30.

Escape character is '^]'.            (顯示 NVT 跳脫字元)

SENT DO SUPPRESS GO AHEAD (要求對方抑制 Go-Ahead

SENT WILL TERMINAL TYPE    (要求設定終端機型態)

SENT WILL NAWS      (要求協議視窗大小,Negotiate about window size

SENT WILL TSPEED            (要求協議終端機速度)

SENT WILL LFLOW        (要求協議本地流量控制,Local Flow Control

SENT WILL LINEMODE         (要求協議行模式,Line mode

SENT WILL NEW-ENVIRON     (要求協議傳送環境變數)

SENT DO STATUS               (要求對方的 Telnet 設定狀態)

RCVD DO TERMINAL TYPE      (同意對方設定終端機型態)

RCVD DO TSPEED               (同意對方的終端機速度)

RCVD DO XDISPLOC            (要求設定 X 視窗顯示)

SENT WONT XDISPLOC         (回應不同意 X 視窗顯示)

RCVD DO NEW-ENVIRON       (同意傳送環境變數)

RCVD WILL SUPPRESS GO AHEAD (同意設定抑制 Go-Ahead

RCVD DO NAWS                  (同意協商視窗大小)

SENT IAC SB NAWS 0 80 (80) 0 24 (24) (傳送視窗大小的數值)

RCVD DO LFLOW                 (同意協議本地流量控制)

RCVD DONT LINEMODE           (不同意協議行模式)

RCVD WILL STATUS               (同意傳送 Telnet 設定狀態)

RCVD IAC SB TERMINAL-SPEED SEND  (子協議終端機速度)

SENT IAC SB TERMINAL-SPEED IS 9600,9600(子協定終端機速度為 9600

RCVD IAC SB NEW-ENVIRON SEND    (子協議環境變數)

SENT IAC SB NEW-ENVIRON IS        (同意子協議環境變數)

RCVD IAC SB TERMINAL-TYPE SEND   (子協議終端機型態)

SENT IAC SB TERMINAL-TYPE IS "VT100" (子協議終端機型態為 VT100

RCVD DO ECHO               (協議要求以伺服端的 Echo 模式)

SENT WONT ECHO            (不同意以伺服端的 Echo 模式)

RCVD WILL ECHO             (協議以客戶端的 Echo 模式)

SENT DO ECHO                (同意以客戶端的 Echo 模式)

Red Hat Linux release 7.2 (Enigma)  (伺服端送出顯示文字)

Kernel 2.4.7-10 on an i686

login: tsnien                     (使用者登入)

Password:                     (使用者輸入密碼)

Last login: Mon Jun 17 15:07:24 from linux-1

[tsnien@linux-2 tsnien]$

        由上述協議中,伺服端傳送 DONT LINEMODE,表示不同意客戶端行模式要求。並且到最後,伺服端要求以本身的 Echo 模式(RCVD DO ECHO),客戶端不同意(SENT WONT ECHO),緊接著,伺服端協議以客戶端的 Echo 模式(RCVD WILL ECHO),客戶端同意以本身 Echo 模式(SENT DO ECHO)。在整個協議當中,已抑制 Go-Ahead和設定 Echo 模式,因此可以發現雙方已協議以單一字元模式(Single Character Mode)來交談。也可以當使用者登入後,而以跳脫鍵回到 telnet>,再來查詢連線後的狀態,由其中可以觀察到目前所使用的交談模式,查詢範例如下:

telnet> status

Connected to 163.15.2.62.

Operating in single character mode   (單一字元模式)

Catching signals locally

Remote character echo             (客戶端回應 Echo模式)

Local flow control                 (本地流量控制)

Escape character is '^]'

        所謂客戶端(或稱遠端)回應(Echo)模式,表示由客戶端鍵盤輸入每一字元,送到伺服器後再回應到客戶端螢幕上顯示,因此,使用者在螢幕上可以看到自己輸入的字元。但是當使用者輸入密碼時,不希望密碼顯示出來,因此,當伺服器送出 "Password:" 時,即關閉 Echo 的功能,直到收到使用 <Enter> 鍵後,再開啟 Echo 的功能,這樣子使用者輸入密碼時就看不到密碼字元。

 

 

<GOTOP>