Telnet服務(wù)命令與登錄
盡管Telnet服務(wù)的使用存在著不少安全問題。但是Telnet是我們進行遠程登錄的重要協(xié)議,也是最為簡便的協(xié)議。那么我們就來分析一下Telnet的使用。Telnet是進行遠程登錄的標準協(xié)議和主要方式它為用戶提供了在本地計算機上完成遠程主機工作的能力.通過使用Telnet,Internet用戶可以與全世界許多信息中心圖書館及其它信息資源聯(lián)系.Telnet遠程登錄的使用主要有兩種情況.第一種是用戶在遠程主祝上有自己的帳號(Account),即用戶擁有注冊的用戶名和口令;第二種是許多Internet主機為用戶提供了某種形式的公共Telnet信息資源,這種資源對于每一個Telnet用戶都是開放的.Telnet是使用最為簡單的Internet工具之一.
telnet命令
可以縮寫.支持的命令為:
c- 關(guān)閉 關(guān)閉當前連接
d- 顯示 顯示操作參數(shù)
o- 打開主機名 [端口]連接到一個主機名(默認端口 23)
q- 退出退出Telnet服務(wù)
set- 設(shè)置 設(shè)置選項(要列表,請鍵入 \'set ?\')
sen- 發(fā)送 將字符串送到服務(wù)器
st - 狀態(tài) 打印狀態(tài)信息
u- 解除設(shè)置 解除設(shè)置選項(要列表,請鍵入 \'unset ?\')
?/h- 幫助 打印幫助信息
遠程登錄
Telnet服務(wù)雖然也屬于客戶機/服務(wù)器模型的服務(wù),但它更大的意義在于實現(xiàn)了基于Telnet服務(wù)的遠程登錄(遠程交互式計算),那么就讓我們來認識一下遠程登錄.
1 遠程登陸的基本概念
先來看看什么叫登錄:分時系統(tǒng)允許多個用戶同時使用一臺計算機,為了保證系統(tǒng)的安全和記帳方便,系統(tǒng)要求每個用戶有單獨的帳號作為登錄標識,系統(tǒng)還為每個用戶指定了一個口令.用戶在使用該系統(tǒng)之前要輸入標識和口令,這個過程被稱為\'登錄\'.
遠程登陸是指用戶使用Telnet命令,使自己的計算機暫時成為遠程主機的一個仿真終端的過程.仿真終端等效于一個非智能的機器,它只負責(zé)把用戶輸入的每個字符傳遞給主機,再將主機輸出的每個信息回顯在屏幕上.
2 遠程登陸的產(chǎn)生及發(fā)展
我們可以先構(gòu)想一個提供遠程文字編輯的服務(wù),這個服務(wù)的實現(xiàn)需要一個接受編輯文件請求和數(shù)據(jù)的服務(wù)器以及一個發(fā)送此請求的客戶機.客戶機將建立一個從本地機到服務(wù)器的TCP連接,當然這需要服務(wù)器的應(yīng)答,然后向服務(wù)器發(fā)送鍵入的信息(文件編輯信息),并讀取從服務(wù)器返回的輸出.以上便是一個標準而普通的客戶機/服務(wù)器模型的服務(wù).
似乎有了客戶機/服務(wù)器模型的服務(wù),一切遠程問題都可以解決了.然而實際并非你想象的那樣簡單,如果我們僅需要遠程編輯文件,那么剛才所構(gòu)想的服務(wù)完全可以勝任,但假如我們的要求并不是這么簡單,我們還想實現(xiàn)遠程用戶管理,遠程數(shù)據(jù)錄入,遠程系統(tǒng)維護,想實現(xiàn)一切可以在遠程主機上實現(xiàn)的操作,那么我們將需要大量專用的服務(wù)器程序并為每一個可計算服務(wù)都使用一個服務(wù)器進程,隨之而來的問題是:遠程機器會很快對服務(wù)器進程應(yīng)接不暇,并淹沒在進程的海洋里(我們在這里排除最專業(yè)化的遠程機器).
那么有沒有辦法解決呢?當然有,我們可以用遠程登錄來解決這一切.我們允許用戶在遠地機器上建立一個登錄會話,然后通過執(zhí)行命令來實現(xiàn)更一般的服務(wù),就像在本地操作一樣.這樣,我們便可以訪問遠地系統(tǒng)上所有可用的命令,并且系統(tǒng)設(shè)計員不需提供多個專用地服務(wù)器程序.
問題發(fā)展到這里好像前途一片光明了,用遠程登錄總應(yīng)該解決問題了吧,但要實現(xiàn)遠程登陸并不簡單.不考慮網(wǎng)絡(luò)設(shè)計的計算機系統(tǒng)期望用戶只從直接相連的鍵盤和顯示器上登錄,在這種機器上增加遠程登陸功能需要修改機器的操作系統(tǒng),這是極其艱巨也是我們盡量避免的.因此我們應(yīng)該集中力量構(gòu)造遠程登陸服務(wù)器軟件,雖然這樣也是比較困難的.為什么說這樣做也比較困難呢?
舉個例子來說:一般,操作系統(tǒng)會為一些特殊按鍵分配特殊的含義,比如本地系統(tǒng)將\'Ctrl+C\'解釋為:\'終止當前運行的命令進程\'.但假設(shè)我們已經(jīng)運行了遠程登陸服務(wù)器軟件,\'Ctrl+C\'也有可能無法被傳送到遠地機器,如果客戶機真的將\'Ctrl+C\'傳到了遠地機器,那么\'Ctrl+C\'這個命令有可能不能終止本地的進程,也就是說在這里很可能會產(chǎn)生混亂.而且這僅僅是遇到的難題之一.
但盡管有技術(shù)上的困難,系統(tǒng)編程人員還是設(shè)法構(gòu)造了能夠應(yīng)用于大多數(shù)操作系統(tǒng)的遠程登陸服務(wù)器軟件,并構(gòu)造了充當客戶機的應(yīng)用軟件.通常,客戶機軟件取消了除一個鍵以外的所有鍵的本地解釋,并將這些本地解釋相應(yīng)的轉(zhuǎn)換成遠地解釋,這就使得客戶機軟件與遠地機器的交互,就如同坐在遠程主機面前一樣,從而避免了上述所提到的混亂.而那個唯一例外的鍵,可以使用戶回到本地環(huán)境.
將遠程登陸服務(wù)器設(shè)計為應(yīng)用級軟件,還有另一個要求,那就是需要操作系統(tǒng)提供對偽終端(pseudo terminal)的支持.我們用偽終端描述操作系統(tǒng)的入口點,它允許像Telnet服務(wù)器一樣的程序向操作系統(tǒng)傳送字符,并且使得字符像是來自本地鍵盤一樣.只有使用這樣的操作系統(tǒng),才能將遠程登陸服務(wù)器設(shè)計為應(yīng)用級軟件(比如Telnet服務(wù)器軟件),否則,本地操作系統(tǒng)和遠地系統(tǒng)傳送將不能識別從對方傳送過來的信息(因為它們僅能識別從本地鍵盤所鍵入的信息),遠程登陸將宣告失敗.
將遠程登陸服務(wù)器設(shè)計為應(yīng)用級軟件雖然有其顯著的優(yōu)點:比將代碼嵌入操作系統(tǒng)更易修改和控制服務(wù)器.但其也有效率不高的缺點(后面的內(nèi)容將會給予解釋),好在用戶鍵入信息的速率不高,這種設(shè)計還是可以接受的.
3 遠程登錄的工作過程
使用Telnet服務(wù)進行遠程登陸時需要滿足以下條件:在本的計算機上必須裝有包含Telnet協(xié)議的客戶程序;必須知道遠程主機的Ip地址或域名;必須知道登錄標識與口令.
Telnet遠程登錄服務(wù)分為以下4個過程:
1)本地與遠程主機建立連接.該過程實際上是建立一個TCP連接,用戶必須知道遠程主機的Ip地址或域名;
2)將本地終端上輸入的用戶名和口令及以后輸入的任何命令或字符以NVT(Net Virtual Terminal)格式傳送到遠程主機.該過程實際上是從本地主機向遠程主機發(fā)送一個IP數(shù)據(jù)報;
3)將遠程主機輸出的NVT格式的數(shù)據(jù)轉(zhuǎn)化為本地所接受的格式送回本地終端,包括輸入命令回顯和命令執(zhí)行結(jié)果;
4)最后,本地終端對遠程主機進行撤消連接.該過程是撤銷一個TCP連接.
上面的內(nèi)容只是討論了遠程登陸最基本的東西,其中的復(fù)雜和編程人員的艱辛是我們難以想象的,不知道你在舒服的使用Telnet服務(wù)的同時,是否想到了這些!