命令運行
當開始運行Telnet時,情況如何呢?一個套用系統由兩部分組成:“client”——這就是Telnet簡介所說的客戶機,另一部分是“server”——這是運行於網路計算機上提供服務的系統,稱之為伺服器。而網路(既使用TCP也使用UDP的伺服器)則是提供兩者(Clinet與Server)通信的工具。
這裡要求客戶機必須做到:
⑴建立一個網路與伺服器間的TCP連線
⑵以方便的方式接收輸入
⑶對某些標準的格式化輸入作重新格式化並作重新格式化並傳送給伺服器。
⑷以某些標準的格式化從伺服器中接受輸出
⑸重新格式化顯示給自己的輸出
服務調用
伺服器軟體是運行於主機上提供服務的系統,如果沒有運行服務系統,也就不能提供相應的服務。
某一類服務被調用,它就可以:
⑴通知網路軟體,讓它準備連線;
⑵等待一個標準的格式化要求的產生;
⑶服務請求;
⑷傳送一個標準格式的結果給客戶;
⑸重新等待
一個伺服器應該能夠處理各種客戶,有的是運行在同類的電腦上的,而有的是運行在 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,Commands 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:
用於不具體的一個命令從命令模式返回到所連線的遠程機器上。另外,還有許多其他的命令可以推出命令模式。
注意:set命令也可以退出命令模式。當然,如果不行,可以回車輸入一空行,也能回到porky。