用Telnet串連遠端電腦

來源:互聯網
上載者:User

 Internet系統的一大優點在於,操縱世界另一端的電腦與使用身旁的電腦一樣方便。本章介紹怎樣利用Telnet服務系統串連遠端電腦。
  我們將討論兩種使用遠端電腦的主要方法。首先,你可以在任何 Internet主機上註冊,取得你的戶頭。如對於一台Unix系統的電腦,你必須具有一個使用者標識和口令。一經註冊,你就可以按正常使用主機了。其次,有許多Internet電腦提供一種Telnet公用服務。該系統對任何使用者都有效,通常不需要口令。
  你將發現,Telnet會讓你忘記自己與遠程主機之間的距離,你所能感到的距離感僅僅是,當Internet使用頻繁時,電腦的響應速度稍有遲緩。當然,熟練的使用者可以輕鬆自如地依次訪問幾個不同的Internet 主機。
  Telnet概要
  Telnet提供大量基於標準協議之上的服務。使你與遠程Internet主機已連線的服務就叫做“Telnet”。
  使用telnet服務,你必須在你的電腦上運行一個特殊的telnet程式。該程式通過Internet串連你所指定的電腦。一旦串連成功,telnet就作為你與另一台電腦之間的中介而工作。你用鍵盤錄入的所有東西都將傳給另一台電腦,而另一台電腦顯示的一切東西也將送到你的電腦並在螢幕上顯示出來。其結果,你的鍵盤及螢幕似乎與遠端電腦直接連在一起。
  在Telnet術語中, 你的電腦叫作“本機電腦”(本地機), 而 telnet程式所串連的另一台電腦叫做“遠端電腦”(遠程機)。無論另一台電腦的實際距離有多遠,無論是在同一間辦公室還是橫跨世界,我們都使用這些術語。正如第二章所述,我們常把Internet電腦稱為“ 主機”。所以,利用Telnet術語,我們可以說telnet程式的功能就是將你的本地機與一台遠程Internet主機串連。
  另外,我們通常也將telnet用作動詞。例如,你正在外地一位朋友家作客,你可以這樣對他說:“我能用你的電腦嗎?我想telnet我的電腦,看有沒有郵件。”
  運行telnet 程式的第一種方法
  當進行遠端連線時,你應使用telnet程式。有兩種運行程式的方法,這裡先講述最常用的一種,下一部分將介紹另一種方法。
  運行telnet程式,首先錄入命令名及你想串連的遠程機的地址。例如,假設你要串連一台叫fuzzball的電腦,它的全地址為 fuzzball. ucsb .edu,則錄入:
  telnet fuzzball.ucsb.edu
  若你是與本網的一台電腦串連,通常可以只錄入該機的名字而不用錄入全地址。例如:telnet fuzzball
  正如在第四章中介紹的,所有Internet主機都有一個正式的IP地址,該地址由一串被句點隔開的數字構成。例如:標準地址為ucsd.edu的電腦的IP地址為128.54.16.1.
  一些系統在處理某些標準地址時會有困難。若你使用telnet程式時遇到此類問題,可換用IP地址試一試。例如,以下兩個命令都可達到同一目的,即能連上同一台主機。
  telnet ucsd.edu
  telnet 128.54.16.1
  關於IP地址及Internet地址的詳細情況參見第四章。
  運行telnet程式後,它將開始串連你所指定的遠程機。當telnet正在等待響應時,螢幕將顯示:
  Trying...
  或類似的資訊。
  一旦串連確定(若主機距離遠可能會等候一段時間),你將讀到此資訊:Connected to fuzzball.ucsb.edu
  Escape character is ''^]''
  (我們將在後面的“換碼符”中解釋該指示)
  假如有時telnet不能確定串連,你將得到主機找不到的資訊。例如,假設你想串連遠程機nipper.com,但你錯誤地錄入為:
  telnet cnpaf.net
  你將會看到:
  cnpaf.net:unknown hosttelnet>
  此時你可以另指定一主機名稱,或者中止執行該程式。
  有許多因素都可能導致telnet 不能遠端連線。三個最常見的因素為: 電腦地址拼字錯誤。
  遠端電腦暫時不能使用。
  你指定的電腦不在Internet上。
  另外還可能出現的問題是:由於某種原因,你的本網或許不能串連Internet的某些部分。一個原因是某些主機為了保密而被隔離。另一原因是某些主機根本不能與別的主機串連。
  例如,我們一位來自愛爾蘭的朋友抱怨道,他不能與在澳大利亞的電腦串連。在這種情況下,telnet將顯示類似以下資訊:
  Host is unreachable
  若遇到此種情況,請你重複檢查是否正確地錄入telnet命令或地址,你也可以請教系統管理員,進行此類串連是否還有一些你不知道的技巧。當然, 若確實你所在地不能與遠程機串連,那你只好認可現實了。 (我們只好對那位愛爾蘭朋友說:有許多人從未與澳大利亞的電腦串連,卻仍過著充實愉快的生活。)
  telnet一旦確定串連,你就可以同遠程機對話了。此時,許多主機會顯示一些資訊,通常這是用來確認電腦的。一旦被接受登入,你將看到標準的提示符。例如,若你已與一台Unix遠程機串連,你將看到:
  login:
  現在你可以用正規方式登入。錄入你的使用者識別碼並按斷行符號,你將看到:
  Password:
  現在錄入你的口令並再按斷行符號。(注意:你錄入的口令並不會在螢幕上顯示,這是為了防止別人竊取你的使用權)。
  我們曾指出,有些遠程機可以提供一種公用服務,在這種情況下, 當你登入時毋須使用保密口令。例如,在第十三章中,我們將討論一種叫 Archie伺服器的Internet資源。 當你串連 Archie 伺服器時, 使用一個 archie的使用者標識,一旦錄入該使用者標識,Archie程式就會自動運行。 有些公用主機甚至更方便。只要你用telnet命令串連,遠程程式就會自動執行,你甚至不用再錄入使用者標識和口令。
  當在遠程機的工作結束後,你只需按常規方式“退出”,此時串連斷開,telnet 自動停止運行。
  運行telnet程式的第二種方法
  我們曾提到有兩種方法可以運行 telnet 程式。 第一種方法是錄入 telnet命令及遠程機的地址。例如:telnet fuzzball.ucsb.edu. 第二種方法是不指定主機地址而運行telnet。僅錄入:
  telnet
  此時程式運行,但並未進行串連。你將看到:
  telnet>
  這是telnet提示符。它表明程式已運行並等待你錄入一個命令。若要串連一台遠程機,錄入open,並附上遠程機的地址即可。例如:
  open fuzzball.ucsb.edu.
  其串連效果同你一開始錄入telnet命令就接著指定遠程機一樣。
  在前一節,我們給了一個例子。telnet 命令錄入錯誤地址。 在這個例子中, 遠程機名為nipper.com,但我們錯錄為:
  telnet cnpaf.net
  此時telnet仍試圖進行串連,當失敗時程式放棄串連並顯示提示符,等待你錄入一命令。在這種情況下你將看到:
  cnpaf.net:unknown host
  telnet>
  現在你可以錄入一條open命令及正確的地址:
  open nipper.com
  若該地址不工作,你可以再試另一個。若你決定放棄,錄入: quit
  即退出telnet程式。
  運行及退出telnet提要:
  有兩種運行telnet的方法。一是錄入命令後加上遠程機的地址:
  telnet fuzzball.ucsb.edu.
  另一種是只錄入命令名:
  telnet
  然後在“telnet>”提示符後錄入一條open命令:
  open fuzzball.ucsb.edu.
  有兩種退出telnet程式的方法。若你已與遠程機串連, 則用常規方法退出,telnet程式自動結束。或者,在“telnet>”提示符下, 錄入中止命令
  quit
  串連特定的數字
  在Internet中,有許多主機能為Telnet提供公用服務。事實上,若你查一下目錄,你會發現大量的項目是通過Telnet訪問的。
  許多遠程主機要求你在串連時指定一特別的“介面數字”,用來標識你需要的服務類型。這裡有一個例子:
  密執根大學有一台電腦可提供美國和加拿大的天氣預報 。 該機名為downwind.sprl.umich.edu。當你與該機串連時, 你必須指定一介面數字3000,即告訴該機你想使用天氣預報服務。
  你所要做的只是在telnet命令後加上該介面數字:
  telnet downwind.sprl.umich.edu 3000
  (注意在地址與介面數字之間留一空格。)若你是在telnet> 提示符之後使用open命令串連,也用同樣方式錄入介面數字:
  open downwind.sprl.umich.edu 3000
  當你使用介面數字串連遠程機時,你所需的程式就會開始運行, 程式運行完後,串連斷開,telnet程式自動結束。
  在本章我們是以大多數Unix系統為基礎來講述telnet命令的。而在其他一些系統中,格式可能有所不同。例如,在使用VMS作業系統的VAX電腦上, 你必須在介面數字前加上“/port=”:
  telnet downwind.sprl.umich.edu /port=3000
  若你對自己的電腦有任何不清楚的地方,最好的辦法是查閱telnet 的地方資料。進一步探討介面數字
  在電腦術語中,“介面”這一術語是指兩台裝置或兩個系統之間的串連處。例如,你可以把一台印表機接到電腦背後的介面上,在Unix系統中我們說每個終端都被接到主機上各自的介面中。
  Internet 術語中也使用同樣的概念。在第二章我們提到Internet 使用一種叫TCP(傳輸控制)的協議將資料從一台主機傳到另一主機。 任何時候使用TCP 來串連一台Internet主機和另一台主機都必須用介面數字來標識連線類型。事實上, 有一個Internet的正式組織, 即數字管理局制訂出一套公認的介面數字,並確保是唯一的數字。
  當預設時,telnet串連通常使用介面數字23,也就是說, 當你未指明介面數字時,telnet程式自動連接到23號介面。因此,以下兩條指令的串連結果相同:
  telnet fuzzball.ucsb.edu
  telnet fuzzball.ucsb.edu 23
  為了使你能與遠程機串連,遠程機必須運行一個能與你使用的介面進行通訊的程式。當該程式在等待串連時,我們稱它在該介面上“接收”。
  因此,任何一台能支援Telnet串連的主機內部,都必須有一個在23號介面上接收的程式。也就是說,當你使用telnet程式與一台遠程機進行常規串連時, 它與遠程機聯絡並檢查在23號介面上是否有程式“接收”。
  只有當你想用Telnet與其它的介面串連時才需要指定一個實際的介面數字。許多Internet系統採用不同的介面數字來提供一些特別服務。
  在前一節,我們用介面數字3000與一台叫downwind.sprl.umich. edu 的遠程主機串連。我們這樣做是為了使用一個特殊的程式來顯示天氣預報。為了讓串連成功, 必須在遠程機內運行該天氣預報程式, 且該程式應在 3000號介面上接收。在許多情況下, 一台主機可同時在一個特定介面支援一個以上的串連。例如,上述特殊的天氣預報伺服器就可以同時支援100 個使用者。
  telnet換碼符:CTRL-]
  當你與一台遠程機對話時, 有一種方法可使你中斷工作, 直接向 telnet錄入另外的指令。例如,如果你與遠程機交流有困難,你可以中斷自己的工作對話而轉回到telnet狀態,再錄入quit命令。
  辦法就是按一特殊的按鍵組合CTRL-]。即按住CTRL 鍵後再按下]鍵。當按下該按鍵組合後,它將送一訊號給telnet,暫停遠端連線並顯示提示符:
  telnet>
  現在你可以隨意錄入任何telnet指令(後面我們會介紹幾條重要的指令)。 有些指令運行後可命令 telnet 自動回復遠端連線, 另外, 在 telnet>提示符之後,你還可隨時按斷行符號鍵來恢複串連。
  象CTRL-]這樣的鍵在技術術語中稱為“換碼符”。 許多程式都允許使用一個換碼符來請求特殊服務。
  在Unix世界中,有一慣例是用“^”字元來表示CTRL鍵。例如 CTRL-C 就寫作^C。
  現在我們可以理解當telnet確定遠端連線後螢幕顯示的資訊: Escape character is''^]''
  該顯示提醒你Telnet換碼符是CTRL-]。 當然我們也可以將它改為其它字元,但通常沒有這個必要。
  使用telnet命令
  任何時候在telnet>提示符之後,你都可以選擇使用各種不同的命令。本節我們將介紹一些最重要的命令。首先, 我們還要提醒你: 不錄入任何命令而只按斷行符號鍵,telnet將重新進行遠端連線。
  若要顯示所有telnet命令的提要,你可以錄入?字元:
  ?
  下面是一個典型的提要:
  Commands may be abbreviated,Commands are:(縮寫命令,命令是: )
  closeclose current connection(關閉串連)
  displaydisplay operating parameters(顯示巨集指令引數)
  modetry to enter line-by-line or character-at-a -timt mode( 試行連網)
  openconnect to a site(接通定點地址)
  quitexit telnet(退出)
  sendtransmit special characters (''send ?''for more)( 傳送特殊字元)
  setset operating parameters(''set ?''for more)(設定作業參數)
  statusprint status information(列印即時資訊)
  toggletoggle operating parameters (''toggle ?''for more)( 重複巨集指令引數)
  zsuspend telnet(暫停)
  ? print help information(列印協助資訊)
  在所有這些命令中,最重要的幾條是:?,open,close,quit 和z。 open命令是告訴telnet串連一台遠端電腦。錄入open後再加上電腦的具體地址。例如:
  open fuzzball.ucsb.edu
  close命令是終止遠端連線但並不中止telnet程式的運行。 下面的例子說明它的用處:
  假設你正在一台遠程機上工作而出現了故障。由於某種原因,遠程機似乎不接受你的命令。無論你錄入什麼命令,遠程機都沒有響應,甚至你也不能退出。一個解決辦法就是按CTRL-]鍵,等待telnet>提示符,然後錄入close命令。現在你可以與同一台主機重建立立串連, 當然你也可以與另一台主機串連。
  quit命令用來中止telnet 程式。 若一個遠端連線程式仍是啟動並執行, quit將會終止它。在你關閉一個串連或者退出telnet之前,記住首先要在遠程主機上退出。大多數主機在串連中斷後會自動將你登出,但這樣操作會更好。這樣可以確保你所啟動並執行任何程式都正常地退出並且所有的資料都已被儲存。
  餘下的指令都不甚重要(除了我們將在下一節介紹的Z指令),你可能永遠也不會用到它們。大多數這些指令是用來控制通訊對話的各種技術特徵,可能你不會注意到它們。若你想顯示send,set或toggle 命令的進一步摘要,你可以在命令後加上一個?字元。例如:
  send ?
  假如你想得到更多關於telnet的技術資訊,請參看你所用系統的資料。若你使用的是一台 Unix 電腦, 你可以使用如下命令在聯機說明書( online manual)上顯示
  telnet條款:
  man telnet
  作業控制
  Unix系統支援一種叫做“作業控制”的功能。它可使你暫停一個程式而工作另一程式,然後再返到第一個程式。這裡我們不再詳細討論Unix的功能,但我們將介紹,若你的系統內有作業控制,telnet是如何配合其工作的。
  在telnet提示符下錄入z命令(後面再解釋命令名的含義)。 它將告訴telnet暫停工作而返回到“shell”(即讀入並處理你的命令的程式)。這樣你就可以在遠程對話過程中錄入常規命令了。
  只有當你的shell支援作業控制,z命令才能工作。若你所用的是一種現代shell,如C Shell或者Korn shell,它都可以工作。但假如你用的是較陳舊的Bourne shell,它沒有作業控制,z命令也就不能工作。 事實上, telnet 程式自己也“凍結”(freeze)。
  你當前正在啟動並執行程式被稱為放在“前台”。當你退出一個程式時,我們稱將其放在“後台”。
  當你錄入 z 命令, telnet 程式將自己置於後台而讓你返回到本地 shell(local shell),這樣你就可以隨意錄入常規的Unix命令。例如,你可以檢查你的郵件,顯示時間、日期等等。當你想恢複遠端連線時,錄入命令:
  fg
  該命令告訴Unix系統重新啟用被中斷的最後一個程式,將其置於前台。現在你就可以恢複遠端連線了。
  你可能會想,為什麼telnet作業控制命令名是z? 這是因為, 在支援作業控制的Unix系統中,你可以按下susp(暫停)鍵來將當前程式置於後台。通常該鍵是CTRL-Z。因此,該telnet命令是以Unix的鍵命名的。
  若在一段規定的時間內沒有進行任何操作,許多主機會自動讓你退出。例如, 在某系統中,若你在15分鐘內未錄入任何東西, 該系統即讓你退出。 當你使用Z命令中斷telnet對話時應注意這一點。若在規定時間之內你未能恢複遠程對話,串連將被自動切斷。
  圖7-1給了一個這樣的例子。
  在例子的開始,我們在一台叫nipper 的電腦上登入。 你可以看到 shell提示符:
  nipper
  在該提示符下我們錄入一條telnet命令,與一台地址名為 fuzzball .ucsb.edu的遠端電腦串連:
  telnet fuzzball.ucsb.edu
  一旦串連確定,fuzzball即顯示標準的Unix登入提示符。我們採用使用者標識harley 來登入。注意,為了保密我們錄入的口令字並未顯示出來。登入完成後,遠程機顯示一些資訊,並後附一個shell提示符:
  fuzzball
  我們現在錄入data命令來顯示時間及日期。
  nipper telnet fuzzball.ucsb.edu
  Trying...
  Connected to fuzzball.ucsb.edu
  Escape character is ''^]''。
  ULTRIX V4.2A (Rev.47) (fuzzball)
  Welcome to the Fuzzball System
  login: harley
  Password:
  Last login: Sun Apr 18 00:09:58 from nipper.com
  fuzzball date
  Sun Apr 18 00:24:54 CDT 1993
  fuzzball CTRL-]
  telnet> z
  Stopped
  nipper mail
  No mail for harley
  nipper fg
  telnet fuzzball.ucsb.edu
  fuzzball logout
  Connection closed by foreign host。
  nipper
  圖7—1使用telnet進行作業控制
  接下來我們想暫時返回到nipper機上檢查有無郵件。首先,我們按下 CTRL-], 將遠端連線中斷並返回到telnet。你將看到提示符:
  telnet>
  接著我們錄入z命令,它把 telnet 程式置於後台。 現在我們就看到 nipper的shell
  提示符。再使用mail命令(見第六章)來檢查有無電子郵政資訊。 現在錄入fg命令。 shell的響應是顯示被置於背景最後一條命令(例子中是telnet命令)。然後shell將該程式放回前台, 即自動回復遠端連線。我們將再次看到fuzzball的shell提示符。
  最後,我們錄入logout命令從 fuzzball上退出。遠端連線自動關閉, telnet程式退出。我們又返回到開始的nipper shell提示符下。
  在Unix系統中,shell是讀入並處理你的命令的程式。有許多種Unix shell,你可以任選一種。
  當shell準備接收命令時它將顯示一提示符。 若你在多台電腦有帳戶,最好能按一定格式規定提示符,使它能包含電腦的名字(這裡不作詳細闡述)。這樣,你的shell 提示符可以隨時告訴你正在使用的是哪一個shell。
  依照慣例,提示符的最後一個字元表示你所用shell的類型。 字元(如本例)表明是C—Shell。$字元是表明Korn shell或Bourne shell。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.