Telnet命令模式
轉自INTERNET
當開始運行Telnet時,情況如何呢?一個應用系統由兩部分組成:「client」——這就是Telnet簡介所說的客戶機,另一部分是「server」——這是運行於網絡計算機上提供服務的系統,稱之為服務器。而網絡(即使用TCP也使用UDP的服務器)則是提供兩者(Clinet與Server)通信的工具。
這裡要求客戶機必須做到:
(1)建立一個網絡與服務器間的TCP連接
(2)以方便的方式接收輸入
(3)對某些標準的格式化輸入作重新格式化並作重新格式化並傳送給服務器。
(4)以某些標準的格式化從服務器中接受輸出
(5)重新格式化顯示給自己的輸出
服務器軟件是運行於主機上提供服務的系統,如果沒有運行服務系統,也就不能提供相應的服務。
某一類服務被調用,它就可以:
(1)通知網絡軟件,讓它準備連接;
(2)等待一個標準的格式化要求的產生;
(3)服務請求;
(4)傳送一個標準格式的結果給客戶;
(5)重新等待
一個服務器應該能夠處理各種客戶,有的是運行在同類的電腦上的,而有的是運行在 IBM / PCs , Macintoshes , Amigas等各種不同的機器上。為了做到這一點,服務器必須具有一套通信規則,這種規則通常叫做協議。由於Telnet協議用於兩個應用層之間所以叫做應用層協議。任何人都可以在任何類型的電腦上編製一個客戶機。只要這個客戶機可以上網通訊並遵守協議,他就可以進入服務器。實際上也就是說,用戶的 Macintosh可以使用Telnet和其他的的Internet的工具,從而能讓很多不同的系統為其工作。
就使用來說,一個應用層協議通常允許客戶機和服務器有不同的數據設定,並通告客戶機和服務器使用相互的通信方式。這些經常是有每行在開始的幾個字節的文本程序來完成的。如果服務器發送一個以「TXT」字符開頭的行命令給客戶,那麼這行 「TXT」 後邊其他的數據就被送入屏幕顯示。如果一行的開始是以「CMD」開始,則表明這些信息是從服務軟件到客戶軟件。使用者是看不到這些的,這是因為在信息傳送到時這些控制信號已去掉了。
除了在Telnet是如何工作的例子介紹的以外,Telnet還有很多的特點。Telnet可發送除了"escape"的任何字符到遠程主機上。因為"escape"字符在Telnet中是客戶機的一個特殊的命令模式,它的默認值是"Ctrl-]"。但要注意不要與鍵盤上的Esc鍵混淆,我們可以設定"escape"為任意某個字符,只是對Telnet來說以為著該字符不可能再被傳送到遠程主機上,而Esc鍵是一非打印字符,Telnet用它來刪除遠程系統中的命令。而且還應記住,"escape"字符並不總以"Ctrl-]"來表示。
可以僅僅鍵入Telnet,後面不帶機器字句。這種情況下所看到的是Telnet>,這是告知Telnet在等待鍵入命令,比如鍵入問號"?"那麼就得到一個有用的命令表:
telnet: ?
Commands may be abbreviated, Command are:
open connect to a site
close close currect connection
quit exit telnet
display display operating parameters
send transmit special characters ('send ?' for more)
set set operating parameters('set ?' for more)
status print status information
toggle toggle operating parameters('toggle ?' for more)
mode try to enter line-by-line or character-at-a-time mode
? print help information
雖然命令很多,甚至還有子命令,但只有一些是常用的。現在介紹以下的幾個:
Close:
該命令用語終止連接。它自動切斷與遠程系統的連接,也可以用它退出Telnet,在冒失的進入一個網絡主機時,想退出的話,就可以用到這個命令。
open:
用它來與一個命名機器連接,要求給出目標機器的名字或IP地址。如果未給出機器名,Telnet就將要你選擇一個機器名。必須注意,在使用"Open"命令之前應該先用"close"來關閉任何已經存在的連接。
Set ECHO:
用於本地的響應是On或是Off。作用是是否把輸出的內容顯示在屏幕上。和DOS的ECHO基本上是一樣。如果機器是處於ECHO ON的話,想改變為OFF,那麼就可以輸入SET ECHO,想再改變回ECHO OFF,那麼就再鍵入SET ECHO就可以了。(這兒說的比較簡短,如果有不明白的,可以與我聯繫)
Set escape char:
建立"escape"字符到某個特殊的符號,若想用某種控制符號來代替,可以用"asis"或者鍵入符號"^"加字母b(如:^b)。在正常工作時,是不需要用"escape"這個字符的,並且這個被用作"escape"的符號不應該再被使用。這類似於許多程序中對鍵盤上的每一個鍵設定其真正的涵義。但如果正在運行一個 daisy-chained 應用系統,那麼可以重新議定"escape"字符的特徵便是很有用的。例如:用Telnet從系統A到系統B,接著又用Telnet註冊進入系統C。如果正在系統C上工作時出了故障,那麼當"escape"代表符是相同時,就沒法中斷系統B到系統C的連接。鍵入"escape"代表符,將總是處於系統A的命令模式。如果在每個Telnet部分使用不同的"escape"代表符,便可以通過鍵入適當的符號,來選擇其中一個命令模式,這也可以用於其他的應用中(像終端仿真)。
Quit:
用它可順利地推出Telnet程序。
Z:
用語保留Telnet但暫時回到本地系統執行其他命令。並且在Telnet中的連接以及其他的選擇在Telnet恢復時仍被保留。
Carriage Return:
用於不具體的一個命令從命令模式返回到所連接的遠程機器上。另外,還有許多其他的命令可以推出命令模式。下面舉一個例子,是從註冊進入到porky.math.ukans.edu ,然後進入命令模式,然後返回porky::
telnet porky.math.ukans.edu
Trying 129.237.128.11...
Connected to porky.math.ukans.edu.
Escape character is '^]'.
SunOS UNIX(porky)
login:wl
password:
Last Login: Tue Mar 28 05:35 from ns.bta.net.cn
SunOS Release 4.1.3_U1(SLIPPERY1) #3: Sun Nov 20 23:47:23 CST 1999
No match.
if:Expression syntax.
porky/serv/wl%cd/
porky/%CTRL-]
telnet:?
Commands may be abbreviated, Command are:
open connect to a site
close close currect connection
quit exit telnet
display display operating parameters
send transmit special characters ('send ?' for more)
set set operating parameters('set ?' for more)
status print status information
toggle toggle operating parameters('toggle ?' for more)
mode try to enter line-by-line or character-at-a-time mode
? print help information
telnet:set escape ^b
escape character is 』^b』
porky/%logout
ns.bta.net.cn%
注意:set命令也可以退出命令模式。當然,如果不行,可以回車輸入一空行,也能回到porky。