版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章網(wǎng)絡(luò)與通信應(yīng)用
11.1TCP/IP網(wǎng)絡(luò)相關(guān)概念11.2Linux網(wǎng)絡(luò)應(yīng)用技術(shù)11.3電子郵件習(xí)題
11.1TCP/IP網(wǎng)絡(luò)相關(guān)概念
計(jì)算機(jī)網(wǎng)絡(luò)是指將處在不同地理位置且相互獨(dú)立的計(jì)算機(jī)或設(shè)備,通過(guò)傳輸介質(zhì)和通信設(shè)備相互連接起來(lái),在網(wǎng)絡(luò)操作系統(tǒng)及網(wǎng)絡(luò)通信協(xié)議的管理和協(xié)調(diào)下,實(shí)現(xiàn)信息傳輸和資源共享的計(jì)算機(jī)系統(tǒng)。11.1.1TCP/IP協(xié)議概述
網(wǎng)絡(luò)上有各種各樣的計(jì)算機(jī),它們?cè)谟布匦砸约皵?shù)據(jù)表示格式等方面可能有所不同。為了能夠互相通信,彼此理解,它們必須共同遵循某些約定,這些約定稱為協(xié)議。協(xié)議是指通信雙方在進(jìn)行通信時(shí)所遵循的規(guī)則的集合,它定義了通信信息的格式和這些格式的意義。
在互聯(lián)網(wǎng)上的計(jì)算機(jī)之所以能夠互聯(lián),是因?yàn)樗鼈兌甲裱环N共同的協(xié)議,這就是TCP/IP協(xié)議。TCP/IP協(xié)議最早是在Unix系統(tǒng)上使用的。隨著Unix的成功,TCP/IP逐步成為Unix系統(tǒng)的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議,并被Internet的前身ARPANET所采納。Internet誕生后,TCP/IP自然就成為Internet的連接協(xié)議。Internet的成功在很大程度上要?dú)w功于TCP/IP的優(yōu)秀設(shè)計(jì),現(xiàn)在它已成為一種事實(shí)上的Internet互聯(lián)標(biāo)準(zhǔn)。網(wǎng)絡(luò)互聯(lián)是一個(gè)復(fù)雜的問(wèn)題,需要提供適應(yīng)各種硬件條件以及各種應(yīng)用需求的連接規(guī)范,因而也就涉及到多種協(xié)議。所以,TCP/IP協(xié)議實(shí)際上包含了多種不同層次和面向不同應(yīng)用的協(xié)議,它們統(tǒng)稱為TCP/IP協(xié)議族。TCP/IP協(xié)議族采用了分層模型的組織結(jié)構(gòu),共分為5層,即應(yīng)用層、傳輸層、互聯(lián)層、鏈路層和物理層。下層協(xié)議為上層協(xié)議提供服務(wù),上層協(xié)議通過(guò)接口使用下層協(xié)議。圖11?1所示是TCP/IP協(xié)議族的層次結(jié)構(gòu)圖。圖11?1TCP/IP協(xié)議族的層次結(jié)構(gòu)圖物理層規(guī)定了網(wǎng)絡(luò)接口和傳輸介質(zhì)的規(guī)格與信號(hào)協(xié)議,實(shí)現(xiàn)了計(jì)算機(jī)之間的物理連接。在這一層上,計(jì)算機(jī)之間通過(guò)網(wǎng)絡(luò)接口(網(wǎng)卡、Modem等)和傳輸介質(zhì)(同軸電纜、雙絞線、光纜、無(wú)線電波等)相互連接,傳遞物理信號(hào)。
鏈路層實(shí)現(xiàn)數(shù)據(jù)幀的發(fā)送和接收,幀(frame)是獨(dú)立的網(wǎng)絡(luò)信息傳輸單元。數(shù)據(jù)幀的頭部列出了該幀的下一站物理地址。鏈路層利用物理層提供的傳輸手段,將要發(fā)送的幀發(fā)送到目標(biāo)機(jī)的網(wǎng)絡(luò)接口上。鏈路層采用某種數(shù)據(jù)鏈路協(xié)議控制幀的傳送,提供流控、校驗(yàn)、重發(fā)等機(jī)制,實(shí)現(xiàn)點(diǎn)到點(diǎn)(pointtopoint)的幀交換。常用的鏈路層協(xié)議包括以太網(wǎng)、光纖網(wǎng)、ATM、PPP撥號(hào)、無(wú)線網(wǎng)絡(luò)連接等?;ヂ?lián)層協(xié)議的主體是IP協(xié)議(InternetProtocol,網(wǎng)際協(xié)議),IP協(xié)議將數(shù)據(jù)幀封裝成Internet數(shù)據(jù)包進(jìn)行傳遞,IP層傳遞的數(shù)據(jù)包也稱為IP包(IPpackets)。每個(gè)IP包的頭部包含有信息傳遞的源地址和目的地址,稱為IP地址。IP協(xié)議計(jì)算從源IP地址到目的IP地址之間的路由,利用鏈路層的點(diǎn)到點(diǎn)傳輸功能將數(shù)據(jù)包逐點(diǎn)地傳遞到指定的主機(jī)上?,F(xiàn)在正廣泛使用的IP協(xié)議是IPv4,而新一代的IP協(xié)議是IPv6。除了IP,此層還有IGMP、ICMP等協(xié)議,常用的ping命令就是通過(guò)ICMP協(xié)議工作的。傳輸層協(xié)議在計(jì)算機(jī)之間提供端到端(endtoend)的數(shù)據(jù)通信。傳輸層將數(shù)據(jù)流分成一個(gè)個(gè)小的數(shù)據(jù)段,封裝成IP包,再利用IP層協(xié)議進(jìn)行傳輸。根據(jù)數(shù)據(jù)傳輸方式的不同,主要有兩種傳輸協(xié)議,即TCP(TransmissionControlProtocol,傳輸控制協(xié)議)和UDP(UserDatagramProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)。兩者的機(jī)制有所不同,區(qū)別是:TCP是一個(gè)面向連接的、可靠的通信協(xié)議,它在應(yīng)用程序之間建立起可靠的通信連接,利用流控制以及錯(cuò)誤恢復(fù)等機(jī)制保證數(shù)據(jù)完整正確地到達(dá)目的地,TCP協(xié)議通常用于有連接要求和傳輸質(zhì)量要求的應(yīng)用,如文件下載、網(wǎng)頁(yè)瀏覽等;UDP是無(wú)連接的通信協(xié)議,且不保證傳送的可靠性。也就是說(shuō)它不能保證數(shù)據(jù)包的接收順序同發(fā)送順序相同,甚至不能保證它們是否全部到達(dá)。不過(guò)UDP比較簡(jiǎn)單,它的包頭比較小,因而比TCP傳輸?shù)呢?fù)載小。UDP適合于一次性傳輸少量數(shù)據(jù),常用于一些要求不高的應(yīng)用,如QQ等即時(shí)聊天服務(wù)。傳輸?shù)目煽啃詣t交給應(yīng)用層來(lái)負(fù)責(zé)。應(yīng)用層協(xié)議提供應(yīng)用程序之間的互聯(lián),應(yīng)用程序通過(guò)傳輸層協(xié)議進(jìn)行數(shù)據(jù)通信,共同實(shí)現(xiàn)某種網(wǎng)絡(luò)應(yīng)用。常用的應(yīng)用協(xié)議有http、telnet、ftp、smtp等,分別用于WEB服務(wù)、遠(yuǎn)程終端、文件傳輸、郵件傳輸?shù)葢?yīng)用。
鏈路層、互聯(lián)層和傳輸層協(xié)議在操作系統(tǒng)的內(nèi)核中實(shí)現(xiàn),而應(yīng)用層協(xié)議則是通過(guò)網(wǎng)絡(luò)編程接口形式提供的。11.1.2IP地址與域名
在IP協(xié)議中,標(biāo)識(shí)主機(jī)的方法是為每個(gè)主機(jī)賦予一個(gè)唯一的地址,即IP地址(IPaddress)。IP地址是IP層定位主機(jī)所必需的,每臺(tái)以專線方式聯(lián)入Internet的計(jì)算機(jī)都擁有至少一個(gè)唯一的IP地址。IPv4的IP地址是一個(gè)32位的二進(jìn)制數(shù),通常采用點(diǎn)分十進(jìn)制格式表示,即將32位二進(jìn)制數(shù)分為4個(gè)字節(jié),每個(gè)字節(jié)用一個(gè)十進(jìn)制數(shù)字表示,中間用“.”分隔,例如:。
IP協(xié)議還定義了幾個(gè)特殊地址,比如為本機(jī)的IP地址,用于主機(jī)向自己發(fā)送數(shù)據(jù),通常用于調(diào)試或測(cè)試網(wǎng)絡(luò)應(yīng)用程序。由于數(shù)字形式的IP地址難以記憶,人們就給網(wǎng)絡(luò)上的主機(jī)另起一個(gè)容易記憶的名字,這就是域名(domainname)。網(wǎng)上的每一臺(tái)服務(wù)器主機(jī)都有一個(gè)域名,它是服務(wù)器在互聯(lián)網(wǎng)上注冊(cè)的名稱。應(yīng)用程序只需按域名訪問(wèn)服務(wù)器,系統(tǒng)會(huì)自動(dòng)將其轉(zhuǎn)換為該服務(wù)器的IP地址。域名并非每臺(tái)上網(wǎng)的計(jì)算機(jī)都需要,只有那些要被作為服務(wù)器訪問(wèn)的計(jì)算機(jī)才需要域名。另外,一個(gè)IP地址可以有多個(gè)域名,一個(gè)域名也可以對(duì)應(yīng)多個(gè)IP地址。有了域名后,網(wǎng)絡(luò)系統(tǒng)必須提供域名轉(zhuǎn)換功能。早期的Internet規(guī)模較小,只需通過(guò)一個(gè)集中的數(shù)據(jù)庫(kù)來(lái)管理域名到IP地址的映射關(guān)系。但隨著Internet的迅速膨脹,重名的問(wèn)題必須解決,于是就誕生了域名系統(tǒng)。Internet的域名系統(tǒng)是DNS(DomainNameSystem),它是一個(gè)全球范圍的分布式數(shù)據(jù)庫(kù)系統(tǒng),管理著網(wǎng)絡(luò)上所有主機(jī)的域名,并負(fù)責(zé)將域名轉(zhuǎn)換為IP地址。DNS采用了分層分區(qū)的管理方式,它將網(wǎng)絡(luò)上的所有主機(jī)劃分為多個(gè)管理區(qū)域,稱為域(domain),一個(gè)域內(nèi)又可劃分為多個(gè)子域,每個(gè)域有一個(gè)域名。主機(jī)的域名就是由主機(jī)名和其所在的域?qū)哟谓Y(jié)構(gòu)的各個(gè)域名組成。DNS保證每一個(gè)域內(nèi)的子域名或主機(jī)名是唯一的,從而保證了整個(gè)網(wǎng)絡(luò)內(nèi)主機(jī)命名的唯一性。域名的一般結(jié)構(gòu)是:主機(jī)名.三級(jí)域名.二級(jí)域名.頂級(jí)域名
如:,它的頂級(jí)域名是cn(中國(guó)),二級(jí)域名是edu(教育網(wǎng)),三級(jí)域名是biti(北京信息科技大學(xué)),主機(jī)名是mail(郵件服務(wù)器)。
域名必須向?qū)iT的機(jī)構(gòu)申請(qǐng)注冊(cè),并且要遵循一定的原則才能正常工作。11.1.3協(xié)議端口
在傳輸層上,TCP/UDP協(xié)議實(shí)現(xiàn)了主機(jī)與主機(jī)間的數(shù)據(jù)通信,將數(shù)據(jù)包從源主機(jī)傳送到目的主機(jī)。但是,最終的數(shù)據(jù)接收者是主機(jī)上的應(yīng)用程序。那么,目的主機(jī)應(yīng)該把接收到的數(shù)據(jù)包傳送給哪個(gè)應(yīng)用進(jìn)程呢?為了區(qū)分?jǐn)?shù)據(jù)包的目標(biāo)進(jìn)程,引入了端口機(jī)制。
協(xié)議端口(protocolport)是一個(gè)軟件結(jié)構(gòu),它提供了網(wǎng)絡(luò)數(shù)據(jù)流到本機(jī)上運(yùn)行的服務(wù)進(jìn)程的銜接。每個(gè)需要接收數(shù)據(jù)的進(jìn)程都有一個(gè)特定的端口,每個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的包頭除了包含目標(biāo)主機(jī)的IP地址外,還包含一個(gè)端口號(hào)。當(dāng)數(shù)據(jù)包到達(dá)目標(biāo)主機(jī)時(shí),系統(tǒng)將根據(jù)包頭中的端口號(hào)將其送給相應(yīng)的進(jìn)程。如果將主機(jī)比作一幢樓,進(jìn)程比作樓中的住戶,那么IP地址就是樓的郵遞地址,端口號(hào)就是各住戶的郵件分箱。每個(gè)對(duì)外有聯(lián)系的住戶都有一個(gè)分箱號(hào)。同郵件通信的方式一樣,數(shù)據(jù)按IP地址到達(dá)主機(jī)后,主機(jī)的數(shù)據(jù)包接收程序檢查數(shù)據(jù)包的頭部信息,確定它的端口號(hào),然后送到該端口上。在實(shí)現(xiàn)上,端口其實(shí)就是隊(duì)列,操作系統(tǒng)為不同的進(jìn)程分配了不同的隊(duì),數(shù)據(jù)包按照目的端口被推入相應(yīng)的隊(duì)中,而與此端口相對(duì)應(yīng)的那個(gè)進(jìn)程將會(huì)在此隊(duì)列上等待并領(lǐng)取數(shù)據(jù)。系統(tǒng)需要給每個(gè)提供網(wǎng)絡(luò)應(yīng)用服務(wù)的進(jìn)程分配端口,分配的根據(jù)是應(yīng)用協(xié)議的種類。每個(gè)協(xié)議端口用一個(gè)正整數(shù)標(biāo)識(shí),如:80、139、445等。為了便于客戶訪問(wèn),TCP/IP定義了一些知名端口(wellknownports)號(hào),提供服務(wù)的進(jìn)程默認(rèn)地使用這些端口號(hào)。如:HTTP協(xié)議的默認(rèn)端口號(hào)是80,F(xiàn)TP協(xié)議的默認(rèn)端口號(hào)是21??蛻舫绦?如瀏覽器)在訪問(wèn)服務(wù)器主機(jī)時(shí)只需指定應(yīng)用協(xié)議的類型(如http://或ftp://等),目標(biāo)系統(tǒng)就會(huì)默認(rèn)地知道該將接收到的數(shù)據(jù)送到哪個(gè)端口了。11.1.4客戶/服務(wù)器軟件模型
大部分TCP/IP應(yīng)用軟件采用客戶/服務(wù)器(Client/Server)模型??蛻?服務(wù)器模型將應(yīng)用軟件劃分為兩個(gè)部分:一部分是客戶端軟件,它運(yùn)行在用戶本地機(jī)上;另一部分是服務(wù)器端軟件,它運(yùn)行在網(wǎng)絡(luò)上的服務(wù)器主機(jī)上??蛻襞c服務(wù)器都屬于TCP/IP的應(yīng)用層軟件,它們利用TCP或UDP協(xié)議傳輸數(shù)據(jù),并且遵照某種應(yīng)用協(xié)議進(jìn)行通信,共同實(shí)現(xiàn)特定的網(wǎng)絡(luò)應(yīng)用功能。圖11?2描述了一種典型的客戶/服務(wù)器軟件模型。圖11?2一個(gè)典型的客戶/服務(wù)器軟件模型客戶和服務(wù)器的交互方式是:服務(wù)進(jìn)程啟動(dòng)后即持續(xù)運(yùn)行,監(jiān)聽(tīng)在其服務(wù)端口上,等待客戶的服務(wù)請(qǐng)求。用戶使用客戶程序與服務(wù)進(jìn)程交互。客戶進(jìn)程啟動(dòng)后,系統(tǒng)為它分配一個(gè)臨時(shí)端口,供接收數(shù)據(jù)使用??蛻粝蚍?wù)器主機(jī)的某個(gè)服務(wù)端口發(fā)出服務(wù)請(qǐng)求,監(jiān)聽(tīng)在該端口上的服務(wù)進(jìn)程響應(yīng)客戶的請(qǐng)求,完成指定的操作,然后按請(qǐng)求數(shù)據(jù)包中帶的客戶機(jī)IP地址和源端口號(hào),將結(jié)果返回給客戶程序。這樣一個(gè)完整的交互過(guò)程稱為一次會(huì)話。
客戶和服務(wù)器之間的交互可以是面向連接的,也可以是面向非連接的。面向連接的方式是雙方在通信前先建立一個(gè)TCP連接,通過(guò)這個(gè)連接進(jìn)行連續(xù)的雙向通信,待交互完成后再拆掉連接;面向非連接的方式是通信雙方不建立連接,只是通過(guò)一次性地發(fā)送UDP數(shù)據(jù)包來(lái)實(shí)現(xiàn)交互。以Internet的Web服務(wù)為例,提供Web服務(wù)的網(wǎng)站上存有大量的網(wǎng)頁(yè)資源,并運(yùn)行Web服務(wù)進(jìn)程來(lái)管理這些資源,為客戶提供資源服務(wù)。用戶通過(guò)Web客戶程序(通常是瀏覽器)訪問(wèn)Web服務(wù)器,訪問(wèn)時(shí)要先輸入統(tǒng)一資源定位地址(URL)。URL指定了協(xié)議的類型、服務(wù)器的域名以及請(qǐng)求的資源(網(wǎng)頁(yè))的名稱,如/page。其中,http是Web的應(yīng)用協(xié)議,是一個(gè)Web服務(wù)器的域名地址,page是網(wǎng)頁(yè)的文件名。當(dāng)用戶提交了一個(gè)URL后,瀏覽器根據(jù)這個(gè)URL與指定服務(wù)器的http端口建立連接,然后Web服務(wù)進(jìn)程按客戶的請(qǐng)求找到請(qǐng)求的網(wǎng)頁(yè),將它下載到瀏覽器中,瀏覽器再將網(wǎng)頁(yè)顯示出來(lái)。如果服務(wù)進(jìn)程使用的不是知名端口,而是自定義的一個(gè)端口號(hào),則客戶必須事先知道該端口號(hào),并在URL中指明該端口號(hào)。比如,假如該服務(wù)器為http應(yīng)用協(xié)議指定的端口是8080,而不是知名的80,則在訪問(wèn)時(shí)應(yīng)使用的URL是:8080/page。
11.2Linux網(wǎng)絡(luò)應(yīng)用技術(shù)
Linux系統(tǒng)上的網(wǎng)絡(luò)應(yīng)用軟件十分豐富,而且方便易用。不過(guò),本節(jié)介紹的只限于Linux系統(tǒng)直接提供的一組基本網(wǎng)絡(luò)應(yīng)用命令,這些命令的參數(shù)和選項(xiàng)很多,因而功能十分靈活、強(qiáng)大,能夠?qū)崿F(xiàn)遠(yuǎn)程登錄、文件傳輸、電子郵件等各種網(wǎng)絡(luò)應(yīng)用。另外,由于篇幅所限,本節(jié)將只介紹網(wǎng)絡(luò)的應(yīng)用技術(shù),也就是如何通過(guò)客戶端工具使用網(wǎng)絡(luò)服務(wù),并不涉及網(wǎng)絡(luò)服務(wù)器系統(tǒng)的搭建。表11-1列出了常用的網(wǎng)絡(luò)應(yīng)用及其使用的協(xié)議端口和客戶端應(yīng)用工具。11.2.1網(wǎng)絡(luò)測(cè)試
當(dāng)網(wǎng)絡(luò)發(fā)生故障時(shí),首先應(yīng)查明故障的原因。對(duì)于網(wǎng)絡(luò)管理員來(lái)說(shuō),需要掌握一些測(cè)試命令和工具軟件,以便全面地檢測(cè)網(wǎng)絡(luò)各個(gè)部件的運(yùn)行狀況;對(duì)于普通用戶來(lái)說(shuō),掌握幾個(gè)簡(jiǎn)單而又實(shí)用的命令也可以了解網(wǎng)絡(luò)的當(dāng)前情況,避免盲目地工作。
1.ifconfig命令
ifconfig是用來(lái)配置網(wǎng)絡(luò)接口(網(wǎng)卡)的命令行工具。用這個(gè)命令可以查看或更改網(wǎng)絡(luò)接口的地址和狀態(tài)。地址包括MAC地址、IP地址、網(wǎng)絡(luò)掩碼、廣播地址;狀態(tài)包括UP(激活)和DOWN(關(guān)閉)。
ifconfig命令
【功能】查看或更改網(wǎng)絡(luò)接口的地址,激活或關(guān)閉網(wǎng)絡(luò)接口。
【格式】ifconfig接口[地址][up|down]
【說(shuō)明】接口參數(shù)指定網(wǎng)絡(luò)接口名,如eth0是Ethernet網(wǎng)卡的名稱。地址參數(shù)設(shè)定接口的地址。up和down選項(xiàng)用于激活或關(guān)閉網(wǎng)絡(luò)接口。例11.1
顯示和配置eth0網(wǎng)絡(luò)接口:
#ifconfigeth0
eth0
Linkencap:EthernetHWaddr00:0C:29:7F:25:7E
inetaddr:Bcast:55Mask:
inet6addr:fe80::20c:29ff:fe0b:257e/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:1610errors:0dropped:0overruns:0frame:0
TXpackets:388errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:207057(202.2KiB)TXbytes:33649(32.8KiB)
Interrupt:16Baseaddress:0x2000
#ifconfigeth0down #暫停eth0網(wǎng)絡(luò)接口
#ifconfigeth051netmask92up
#設(shè)置eth0地址
#
2.?ping命令
ping命令用于檢查本機(jī)到另一個(gè)主機(jī)的連通性,它向該主機(jī)發(fā)送探詢數(shù)據(jù)包,并接收回應(yīng)。如果收到回應(yīng)則ping命令成功,表明本機(jī)與遠(yuǎn)程機(jī)在互聯(lián)層上是連通的,也就是說(shuō)網(wǎng)絡(luò)的物理鏈路、路由、網(wǎng)關(guān)、主機(jī)等都在正常地工作。如果ping不通,則其他網(wǎng)絡(luò)應(yīng)用都不能運(yùn)行了。
ping命令
【功能】探察本機(jī)與遠(yuǎn)程主機(jī)的連通性。
【格式】ping[選項(xiàng)]域名/IP地址
【選項(xiàng)】
-c數(shù)目
在發(fā)送指定數(shù)目的探詢包后停止。未使用此選項(xiàng)時(shí)將持續(xù)發(fā)送探詢包直到用戶按下Ctrl+c鍵。
-f 大量且快速地向?qū)Ψ街鳈C(jī)發(fā)送探詢包
(只限超級(jí)用戶使用)。
-i秒數(shù) 設(shè)定間隔幾秒發(fā)送一個(gè)探詢包,默認(rèn)值
是一秒一個(gè)。
-q 不顯示任何探詢包的傳送信息,只顯示
最后的結(jié)果。
-s字節(jié)數(shù)
指定探詢包的字節(jié)數(shù),默認(rèn)值是56,加
上8字節(jié)的頭,共64字節(jié)。例11.2pingIP地址“”:
$ping
PING()56(84)bytesofdata.
64bytesfrom:icmp-seq=0ttl=30time=0.305ms
64bytesfrom:icmp-seq=1ttl=30time=0.135ms
64bytesfrom:icmp-seq=2ttl=30time=0.225ms
64bytesfrom:icmp-seq=3ttl=30time=0.204ms
<Ctrl+c>
pingstatistics
4packetstransmitted,4packetsreceived,0%packetloss,time3012ms
rttmin/avg/max/mdev=0.135/0.217/0.305/0.061ms
$如果可以ping通對(duì)方主機(jī),ping將輸出每個(gè)包的探測(cè)結(jié)果數(shù)據(jù)。輸出的結(jié)果包括包的序號(hào)icmp-seq、存在時(shí)間ttl(timetolive)以及從發(fā)送請(qǐng)求到返回應(yīng)答之間的時(shí)間量time(以毫秒為單位)。如果應(yīng)答時(shí)間短,表示數(shù)據(jù)包通過(guò)的路由器少或網(wǎng)絡(luò)連接速度比較快。如果包的序號(hào)連續(xù),表示傳輸質(zhì)量較好,不丟包。通過(guò)ttl的值還可以推算數(shù)據(jù)包通過(guò)了多少個(gè)路由器,算法是用源地點(diǎn)的ttl起始值(就是比返回ttl略大的一個(gè)2的乘方數(shù))減去返回時(shí)的ttl值。如例11.2中,返回ttl值為30,那么可以推算數(shù)據(jù)包離開(kāi)源地址的ttl起始值為32,而源地點(diǎn)到目標(biāo)地點(diǎn)要通過(guò)兩個(gè)路由器網(wǎng)段。11.2.2網(wǎng)絡(luò)查詢
1.查詢域名與IP地址
當(dāng)需要查詢一臺(tái)主機(jī)的IP地址或域名時(shí)可以用host、dig或nslookup命令。它們的功能是與本域的域名服務(wù)器建立連接,查詢某個(gè)主機(jī)的IP地址或域名。
host命令
【功能】查詢主機(jī)的IP地址或域名。
【格式】host[域名|IP地址]
【參數(shù)】給定域名為參數(shù)時(shí),顯示其IP地址;給定IP地址為參數(shù)時(shí),顯示其域名。例11.3
用host命令進(jìn)行查詢:
$host #根據(jù)域名查詢IP地址
hasaddress
$host9 #根據(jù)IP地址查詢域名
4.in_domainnamepointer
$
2.查詢用戶信息
finger命令的功能是查詢本地或遠(yuǎn)程主機(jī)上用戶的公開(kāi)信息,可以得到的信息包括用戶的登錄名、真實(shí)姓名、辦公室地址、電話、終端名及其寫(xiě)狀態(tài)(寫(xiě)狀態(tài)指是否可用write命令向其終端寫(xiě)即時(shí)消息)、主目錄、停滯時(shí)間、登錄時(shí)間、郵件狀態(tài)、登錄Shell等信息。這些信息來(lái)源于/etc/passwd文件、登錄日志和郵箱等系統(tǒng)文件。finger還可以顯示用戶主目錄下的.plan和.project文件,用戶可以通過(guò)建立這兩個(gè)文件來(lái)對(duì)外宣傳自己的計(jì)劃、思想等。但出于安全的考慮,許多主機(jī)只對(duì)finger系統(tǒng)提供部分信息,甚至關(guān)閉finger服務(wù)。
finger命令
【功能】查詢本地或遠(yuǎn)程主機(jī)上的用戶的信息。
【格式】finger[選項(xiàng)][用戶列表]
【選項(xiàng)】
-s
以短格式顯示,即只顯示用戶的登錄名、實(shí)際姓名、辦公室地址、電話、終端名及寫(xiě)狀態(tài)、停滯時(shí)間、登錄時(shí)間等信息。
-l
以長(zhǎng)格式顯示,即除了-s選項(xiàng)顯示的信息外,還顯示用戶主目錄、登錄Shell、郵件狀態(tài)等信息,以及用戶的~/.plan和~/.project文件的內(nèi)容。這是缺省的顯示格式。
【說(shuō)明】查詢遠(yuǎn)程機(jī)上的用戶時(shí),參數(shù)為“用戶名@域名”。若以“@域名”為參數(shù)則顯示該主機(jī)上所有用戶的信息。沒(méi)有指定用戶參數(shù)時(shí)顯示本地主機(jī)上所有用戶的信息。
例11.4finger命令的使用:
$fingerzhanli@ #查詢遠(yuǎn)程主機(jī)上的用戶
Login:zhanli Name:(null)
Directory:/home/zhanli Shell:/bin/bash
OnsinceFriApr421:43(CST)ontty134minutes21secondsidle
Nomail.
NoPlan.
$finger-s #查詢本地主機(jī)上的所有用戶
LoginName
Tty
Idle LoginTime
OfficeOfficePhone
root
root
tty1
9 Nov2509:17
cherry *:0 Nov2511:12
cherry
pts/0 Nov2511:12(:0.0)
$
終端名前面的*號(hào)表示對(duì)該終端沒(méi)有寫(xiě)權(quán)限,沒(méi)有*號(hào)則表示該終端是可寫(xiě)的,也就是說(shuō)可以向該用戶發(fā)送即時(shí)消息(見(jiàn)11.2.5小節(jié))。11.2.3遠(yuǎn)程執(zhí)行命令
遠(yuǎn)程執(zhí)行就是用戶在本地機(jī)的終端上通過(guò)網(wǎng)絡(luò)與另一臺(tái)Linux主機(jī)連通,在那臺(tái)主機(jī)上啟動(dòng)一個(gè)命令運(yùn)行。用戶通過(guò)本地終端與該命令交互,如同操作本地主機(jī)一樣。這種跨網(wǎng)絡(luò)的執(zhí)行命令就稱為遠(yuǎn)程執(zhí)行命令。遠(yuǎn)程執(zhí)行的原理是,在遠(yuǎn)程主機(jī)上運(yùn)行著一個(gè)提供遠(yuǎn)程執(zhí)行服務(wù)的服務(wù)程序,在本地系統(tǒng)中運(yùn)行著一個(gè)用于遠(yuǎn)程執(zhí)行的客戶程序??蛻舫绦蛳蚍?wù)程序發(fā)出請(qǐng)求,服務(wù)程序接受請(qǐng)求后,在本地與遠(yuǎn)程主機(jī)之間建立一個(gè)TCP連接,隨后啟動(dòng)指定的命令運(yùn)行。命令執(zhí)行過(guò)程中,客戶程序與服務(wù)程序相互通信,客戶程序?qū)⒈镜氐臉?biāo)準(zhǔn)輸入復(fù)制到遠(yuǎn)程命令的標(biāo)準(zhǔn)輸入,服務(wù)程序?qū)⑦h(yuǎn)程命令的標(biāo)準(zhǔn)輸出復(fù)制到本地的標(biāo)準(zhǔn)輸出。
目前用于遠(yuǎn)程執(zhí)行命令的方式(協(xié)議)主要有telnet和ssh兩種。
1.?telnet
telnet是很經(jīng)典也很流行的遠(yuǎn)程執(zhí)行軟件,它包含在遠(yuǎn)程主機(jī)上運(yùn)行的telnet服務(wù)程序(一般是telnetd)和在本地執(zhí)行的telnet客戶程序兩個(gè)部分。若用戶需要在遠(yuǎn)程系統(tǒng)上進(jìn)行某種操作,如檢查電子郵件、編輯文件和運(yùn)行程序等,可以使用telnet客戶程序登錄到遠(yuǎn)程主機(jī)上執(zhí)行各種命令。Unix/Linux系統(tǒng)上的telnet客戶程序是telnet命令,Windows系統(tǒng)上可以使用putty等軟件。
telnet命令的一般格式為:telnet域名/IP地址。命令首先建立起本地客戶程序與遠(yuǎn)程主機(jī)上的服務(wù)程序之間的TCP連接,連接成功后就可得到遠(yuǎn)程機(jī)的登錄提示符。登錄后,遠(yuǎn)程系統(tǒng)為用戶啟動(dòng)一個(gè)Shell,一個(gè)telnet會(huì)話就開(kāi)始了。用戶可以像在本地系統(tǒng)一樣在遠(yuǎn)程系統(tǒng)上工作,結(jié)束工作后,使用logout或exit命令退出遠(yuǎn)程系統(tǒng),結(jié)束此次會(huì)話。
下面是一個(gè)典型的telnet會(huì)話過(guò)程:
$telnets05.localdomain
Trying1…
Connectedtos05.localdomain
Escapecharacteris'?]'.
LinuxMandraderelease6.1(Helios)
kernel2.2.13onani686
login:zhanli
password:
Lastlogin:MonNovl520:50:43fromhp1.localdomain
Linux2.6.16.(Posix).
[zhanli@s05~]$
…
[zhanli@s05~]$logout
Connectionclosedbyforeignhost.
$
telnet的弱點(diǎn)在于它所有的數(shù)據(jù)都是以明文的方式傳輸?shù)?,容易被人竊取口令和數(shù)據(jù)。所以,在未加防范的網(wǎng)絡(luò)上使用telnet時(shí)存在安全隱患。但是在某些場(chǎng)合,如內(nèi)部局域網(wǎng)絡(luò)中,telnet還是非常有效的。
2.?ssh
ssh(secureshell)是一個(gè)可以有效替代telnet的安全遠(yuǎn)程執(zhí)行軟件。ssh的服務(wù)程序是sshd,客戶程序是ssh命令。與telnet不同,ssh客戶與服務(wù)器通信時(shí)對(duì)所有通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)(包括用戶名和口令)均進(jìn)行了加密,從而大大提高了安全性。
ssh命令的一般格式為:ssh用戶名@域名/IP地址[命令]
沒(méi)有指定命令時(shí),ssh的執(zhí)行過(guò)程類似于telnet;指定了命令時(shí),ssh只在遠(yuǎn)程主機(jī)上執(zhí)行指定的命令,然后退出。下面是ssh命令的典型用法:
$sshzhanli@s05.localdomain
#遠(yuǎn)程登錄
zhanli@s05.localdomain’spassword:
[zhanli@s05~]$
…
[zhanli@s05~]$logout
Connectiontos05.localdomainclosed.
$sshzhanli@s05.localdomain“l(fā)sproject/hoc”
#遠(yuǎn)程執(zhí)行命令
zhanli@s05.localdomain’spassword:
hoc hoc.c hoc.h init.c math.c makefile
$
3.遠(yuǎn)程執(zhí)行X應(yīng)用程序
X系統(tǒng)是基于TCP/IP網(wǎng)絡(luò)運(yùn)行的,因此可以在本地系統(tǒng)上啟動(dòng)遠(yuǎn)程主機(jī)上的一個(gè)X應(yīng)用程序,而將圖形操作界面在本地顯示出來(lái)。如果網(wǎng)絡(luò)帶寬允許的話,甚至可以將整個(gè)桌面調(diào)過(guò)來(lái)進(jìn)行操作,就如同在主機(jī)前操作一樣。
在本地系統(tǒng)運(yùn)行X應(yīng)用程序的前提是要在本地啟動(dòng)一個(gè)XServer。各種流行的操作系統(tǒng)都有XServer產(chǎn)品,Windows系統(tǒng)常用的XServer軟件有x-win32、exceed、Xmanager等。遠(yuǎn)程執(zhí)行一個(gè)X應(yīng)用的方法是:用telnet或ssh登錄到遠(yuǎn)程主機(jī),執(zhí)行啟動(dòng)X應(yīng)用的命令,在命令行中用-display選項(xiàng)將其輸出設(shè)為本地XServer管理的屏幕。-display選項(xiàng)的具體格式參看8.3.4小節(jié)。遠(yuǎn)程登錄圖形桌面的方法是:用telnet或ssh登錄到遠(yuǎn)程主機(jī),啟動(dòng)一個(gè)顯示管理器(如xdm、kdm等),將其輸出設(shè)為本地XServer管理的屏幕。此時(shí),在本地的X窗口中就會(huì)顯示出遠(yuǎn)程系統(tǒng)的圖形登錄界面。多數(shù)系統(tǒng)默認(rèn)對(duì)于遠(yuǎn)程X服務(wù)有所限制,使用時(shí)需要對(duì)系統(tǒng)進(jìn)行一些配置,具體的設(shè)置方法請(qǐng)參考系統(tǒng)的相關(guān)資料。11.2.4文件傳輸
ftp是在計(jì)算機(jī)之間傳輸文件的簡(jiǎn)單有效的方法。Linux上常用的ftp服務(wù)程序有ftpd、vsftpd、wu-ftpd和proftpd,客戶程序是ftp命令。當(dāng)執(zhí)行ftp命令時(shí),它與遠(yuǎn)程主機(jī)上的服務(wù)程序建立起TCP連接,提示用戶輸入用戶名和口令,隨后一個(gè)ftp會(huì)話開(kāi)始。在會(huì)話過(guò)程中,用戶可以通過(guò)ftp提供的操作命令進(jìn)行操作,如在目錄中移動(dòng)、列出目錄內(nèi)容、上傳或下載文件等。傳輸文件的類型可以是ASCII的或二進(jìn)制的。操作完成后,用戶用退出命令退出,結(jié)束此次ftp會(huì)話。表11-2列出了常用的ftp操作命令。大部分ftp站點(diǎn)要求用戶擁有該站點(diǎn)的合法用戶名和口令,也有很多站點(diǎn)允許用戶匿名登錄,即采用“anonymous”作為登錄名,口令為“guest”。用戶名和口令用來(lái)確認(rèn)用戶的身份,并確定用戶對(duì)站點(diǎn)中文件的訪問(wèn)權(quán)限。
ftp命令的一般格式是:ftp域名/IP地址。
以下是一個(gè)典型的ftp會(huì)話過(guò)程:
$ftpfc9
Connectedtofc9().
220(vsFTPd2.0.5)
Name(fc9:cherry):anonymous
33lPleasespecifythepassword.
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
Usingbinarymodetotransferfiles.
ftp>cdpub
250Directorysuccessfullychanged.
ftp>ls
227EnteringPassiveMode(192,168,0,2,168,34).
l50Herecomesthedirectorylisting.
-rw-r--r--
1 0 0 1882 Ari04 09:52 file1
-rw-r--r--
1 0 0 140 Ari02 19:01 file2
-rwxr-xr-x
1 0 0 5660 Ari02 19:02 file3
226Directorysendok.
ftp>binary
200SwitchingtoBinarymode.
ftp>getfile3
local:file3remote:file3
227EnteringPassiveMode(192,168,0,2,107,163).
150OpeningBINARYmodedataconnectionforfile3(5660bytes).
226FilesendOK.
5660bytesreceivedin0.000423secs(1.3e+04Kbytes/sec)
ftp>bye
22lGoodbye.
$11.2.5即時(shí)通信
Linux系統(tǒng)支持本地系統(tǒng)登錄用戶之間以及本地與遠(yuǎn)程系統(tǒng)登錄用戶之間的即時(shí)通信。命令方式的即時(shí)通信工具有talk和write命令。
1.talk命令
talk命令用于在兩個(gè)用戶之間進(jìn)行即時(shí)“交談”。交談雙方可以是處在同一主機(jī)上的用戶,也可以是處在網(wǎng)絡(luò)上的不同主機(jī)上的用戶。只要知道交談對(duì)象的地址,就可以邀請(qǐng)對(duì)方交談。注意:提供talk功能的系統(tǒng)需要安裝有xinetd和talkd軟件包,并且開(kāi)啟了talk服務(wù)。
talk命令的一般格式是:talk用戶[終端]
例如登錄在主機(jī)fc9.localdomain上的用戶cherry希望和登錄在主機(jī)上的用戶zhanli交談,可以輸入下面的命令:
$talkzhanli@
主機(jī)上的服務(wù)程序(talkd)會(huì)傳送一條信息邀請(qǐng)zhanli來(lái)交談,這時(shí)用戶zhanli的屏幕上就會(huì)出現(xiàn)如下信息,并響鈴提示:
Messagefromcherry@fc9.localdomainat20:24…
talk:connectionrequestedbycherry@fc9.localdomain
talk:respondwith:talkcherry@fc9.localdomain這時(shí),用戶zhanli如果愿意與cherry交談,就輸入命令:
$talkcherry@fc9.localdomain
之后,連接建立成功,兩個(gè)用戶就可以進(jìn)行交談了。這時(shí),雙方的終端屏幕上都將顯示信息[Connectionestablished]并響鈴,同時(shí)屏幕被talk程序以一條水平線分割為上下兩部分,上半部分用來(lái)顯示用戶自己輸入的內(nèi)容,下半部分用來(lái)顯示對(duì)方輸入的內(nèi)容。兩個(gè)用戶可以同時(shí)輸入,他們輸入的內(nèi)容將會(huì)立即顯示在雙方的屏幕上。如果要結(jié)束交談,可由任何一方按下Ctrl+c鍵來(lái)中斷連接。talk程序結(jié)束時(shí),在屏幕上將顯示一條信息:
[Connectionclosing.Exiting]
2.?write命令
write命令用于向登錄在同一系統(tǒng)上的另一個(gè)用戶發(fā)送即時(shí)消息。發(fā)送的消息將立即出現(xiàn)在接收者的終端屏幕上。
例11.5
用戶chao向用戶cherry發(fā)送即時(shí)消息:
$who|grepcherry #確定cherry是否登錄,以及登錄的終端
cherrypts/0Nov813:34(0:0)
$writecherrypts/0 #發(fā)送即時(shí)消息
cherry,
Comeoverandjoinus.
<Ctrl+d>
$
cherry的屏幕顯示如下:
$
Messagefromchao@ontty1at14:26…
cherry,
Comeoverandjoinus.
EOF
$
11.3電子郵件
電子郵件(E-mail)誕生于20世紀(jì)80年代初,最早在Unix系統(tǒng)上實(shí)現(xiàn),以后逐漸在互聯(lián)網(wǎng)上流行。而今電子郵件已是互聯(lián)網(wǎng)上最重要的應(yīng)用之一。與傳統(tǒng)郵件相比,電子郵件具有快捷、廉價(jià)和環(huán)保的優(yōu)點(diǎn),因而是現(xiàn)代人的必備通信工具。11.3.1電子郵件的結(jié)構(gòu)
電子郵件由消息頭、消息體和可選附件3部分組成。消息頭包含了一些標(biāo)準(zhǔn)的字段,用來(lái)提供必要的信息以便郵件系統(tǒng)對(duì)其進(jìn)行分發(fā)處理;消息體是郵件的內(nèi)容,采用文本方式書(shū)寫(xiě);附件是隨消息一起發(fā)送的文件,可以是文本的,也可以是二進(jìn)制的各類文件。
消息頭中包含有如下幾個(gè)最重要的字段:
●To:接收方的郵件地址。
●From:發(fā)送方的郵件地址。
●Cc:抄送對(duì)象的郵件地址。
●Bcc:盲抄送對(duì)象的郵件地址?!馭ubject:消息的主題。
●Attch:隨消息發(fā)送的附件。
電子郵件的地址一般采用如下格式:
user_name@host_name.domian_name
其中user_name標(biāo)識(shí)用戶的郵箱,host_name.domian_name是郵箱所在的主機(jī)(即郵件服務(wù)器)的域名。例如,cherry@表示位于主機(jī)上的cherry的郵箱。如果是向處于同一主機(jī)的郵件用戶發(fā)郵件,則只需寫(xiě)出user_name即可。11.3.2電子郵件系統(tǒng)的工作原理
1.電子郵件系統(tǒng)的構(gòu)成
從原理上講,電子郵件系統(tǒng)由以下4部分軟件組成:
1)郵件用戶代理
郵件用戶代理(mailuseragent,MUA)是供用戶使用的郵件處理軟件,主要功能包括接收和閱讀郵件以及編寫(xiě)和發(fā)送郵件。Linux常用的MUA軟件有命令行方式的mail、全屏方式的pine、圖形化的kmai和qmail等。Windows系統(tǒng)上使用的是Outlook。
2)郵件傳輸代理
郵件傳輸代理(mailtransportagent,MTA)完成郵件在主機(jī)間的轉(zhuǎn)發(fā),它是郵件系統(tǒng)的核心成分?,F(xiàn)在有許多可選的MTA郵件系統(tǒng),使用最廣泛的是sendmail。另外一些較新的郵件系統(tǒng)如qmail、postfix等在Linux上也有較多的應(yīng)用。
3)郵件投遞代理
郵件傳輸代理收到郵件后檢查收件人郵箱地址,如果不是本機(jī)的郵箱就向下一站轉(zhuǎn)發(fā)郵件;如果是本機(jī)的,就交給本地的一個(gè)投遞代理去處理。郵件投遞代理(MailDeliveryAgent,MDA)負(fù)責(zé)將發(fā)給本地用戶的郵件投遞到用戶的信箱中。復(fù)雜的MDA還具有郵件分類、垃圾郵件過(guò)濾以及將郵件投遞給程序等功能。常用的MDA有sendmail自帶的mail.local,此外還有smrsh和procmail等。
4)郵件訪問(wèn)代理
郵件訪問(wèn)代理(MailAccessAgent,MAA)是一個(gè)可選的部件,它的功能是為用戶提供訪問(wèn)郵箱的服務(wù),包括對(duì)用戶進(jìn)行身份認(rèn)證、郵件瀏覽、下載及刪除等。Linux系統(tǒng)上常用的訪問(wèn)代理是imapd和spop。
通常的郵件系統(tǒng)實(shí)現(xiàn)方案是將郵件傳輸代理、郵件投遞代理和郵件訪問(wèn)代理放在一臺(tái)主機(jī)上,稱為郵件服務(wù)器。郵件服務(wù)器上為每個(gè)本地用戶都設(shè)有一個(gè)電子郵箱,用戶在自己的計(jì)算機(jī)上運(yùn)行郵件用戶代理軟件,收發(fā)郵件或訪問(wèn)郵件服務(wù)器上的郵箱。
2.郵件協(xié)議
郵件系統(tǒng)的各個(gè)組成部件分布在網(wǎng)絡(luò)上,它們之間需要通過(guò)某種協(xié)議相互通信。郵件協(xié)議屬于TCP/IP的應(yīng)用層協(xié)議,它們利用TCP/IP協(xié)議實(shí)現(xiàn)郵件的傳遞。
SMTP(SimpleMailTransferProtocal)是簡(jiǎn)單郵件傳輸協(xié)議,它的目標(biāo)是向用戶提供高效、可靠的郵件傳輸。SMTP協(xié)議用于兩種情況:一是將郵件從用戶代理傳輸?shù)絺鬏敶恚欢菑囊粋€(gè)傳輸代理傳送給另一個(gè)傳輸代理。SMTP能夠以接力方式傳送郵件,即郵件可以通過(guò)網(wǎng)絡(luò)上不同的主機(jī)逐站傳送到目標(biāo)主機(jī),因此它十分適合在互聯(lián)網(wǎng)上使用。SMTP的客戶是發(fā)送郵件的MUA(如Outlook)或MTA(如sendmail),SMTP的服務(wù)器是接收郵件的MTA(如sendmail)。SMTP協(xié)議使用的端口是25。一般來(lái)說(shuō),用戶多是在客戶機(jī)上處理各種電子郵件,因此需要一個(gè)服務(wù)程序(郵件訪問(wèn)代理)將郵箱中的郵件轉(zhuǎn)交給客戶機(jī)。提供郵件訪問(wèn)服務(wù)的方法有兩種,一種是將郵件傳送到用戶的本地機(jī)器上處理,這是通過(guò)郵局協(xié)議POP3(PostOfficeProtocolv3)實(shí)現(xiàn)的;另一種是允許用戶遠(yuǎn)程操作其郵箱實(shí)現(xiàn)對(duì)郵件的瀏覽和管理,這是通過(guò)IMAP(InternetMessageAccessProtocol)協(xié)議實(shí)現(xiàn)的。POP3/IMAP的客戶是MDA(如Outlook),POP3/IMAP的服務(wù)器是MAA(如imapd)。POP3協(xié)議使用的端口是110,IMAP協(xié)議使用的端口是143。
3.郵件系統(tǒng)工作原理
一個(gè)典型的郵件的傳遞過(guò)程如圖11?3所示。
(1)編寫(xiě)和發(fā)送郵件:用戶利用MUA軟件編輯和發(fā)送郵件。有兩種使用MUA的方式,一是用戶登錄到郵件服務(wù)器系統(tǒng)上,然后用系統(tǒng)的MUA(如mail命令)編寫(xiě)郵件并直接將郵件交給服務(wù)器上的MTA(如sendmail)來(lái)發(fā)送。另一種是用戶在自己的計(jì)算機(jī)上用MUA(如outlook)編寫(xiě)郵件,然后將其發(fā)送給郵件服務(wù)器上的MTA。此時(shí)MUA與MTA位于不同的機(jī)器上,它們之間通過(guò)SMTP協(xié)議進(jìn)行通信,傳遞要發(fā)送的郵件。圖11?3電子郵件的傳遞過(guò)程
(2)傳輸郵件:郵件服務(wù)器的MTA收到要發(fā)送的郵件后,查看郵件的目標(biāo)地址,如果目標(biāo)地址是本地,則將其交給本地的投遞代理MDA(如mail.local);如果目標(biāo)地址不是本地,則將該郵件發(fā)往下一個(gè)郵件服務(wù)器,或直接發(fā)往目標(biāo)郵件服務(wù)器。
(3)投遞郵件:目標(biāo)郵件服務(wù)器的MTA收到郵件后,將其交給本地的MDA,由MDA將消息投放到接收者的郵箱內(nèi),并告知接收者有新郵件到來(lái)。
(4)接收和處理郵件:接收者通過(guò)MUA來(lái)查看和處理郵件。如果用戶是登錄到服務(wù)器上的,則可以直接用服務(wù)器上的MUA(如mail命令)來(lái)訪問(wèn)自己的郵箱,處理郵件;如果用戶是在自己的計(jì)算機(jī)上接收郵件,則是通過(guò)本機(jī)上的MUA(如outlook)與服務(wù)器上的MAA(如imapd)建立連接,通過(guò)MAA來(lái)訪問(wèn)服務(wù)器上自己的郵箱。MUA與MAA之間使用POP3或IMAP協(xié)議進(jìn)行通信。11.3.3在Linux中使用郵件
在Linux系統(tǒng)中,系統(tǒng)為每個(gè)用戶建立了一個(gè)私人郵箱,系統(tǒng)將接收到的郵件保存在用戶的郵箱內(nèi)。用戶郵箱是一個(gè)文本文件,用環(huán)境變量$MAIL表示,默認(rèn)的郵箱文件是/var/spool/mail/$LOGNAME。Linux用戶能夠與系統(tǒng)中任何用戶互發(fā)電子郵件。如果系統(tǒng)中安裝了郵件傳輸代理(如sendmail),則用戶就可以與網(wǎng)絡(luò)上的用戶互發(fā)電子郵件了。
用戶可以使用很多方法來(lái)處理郵件,其中,mail命令是Linux系統(tǒng)中最簡(jiǎn)單、最基本、也是最快捷的郵件用戶代理,在任何一個(gè)Unix/Linux系統(tǒng)中都可以使用。
1.設(shè)置mail環(huán)境
mail是一個(gè)功能很強(qiáng)也很靈活的命令,用戶可以通過(guò)配置文件來(lái)靈活地配置mail的運(yùn)行選項(xiàng),以達(dá)到不同的郵件處理功能??膳渲玫捻?xiàng)目包括別名、郵件顯示格式、使用的編輯器、發(fā)送郵件后是否保存、設(shè)置自動(dòng)回復(fù)等。
當(dāng)mail啟動(dòng)時(shí),它首先執(zhí)行配置文件來(lái)定制自己的行為。有兩個(gè)配置mail環(huán)境的文件,一個(gè)是系統(tǒng)級(jí)mail配置文件/etc/mail.rc,用于定義全體用戶的通用mail環(huán)境;另一個(gè)是用戶級(jí)mail配置文件~/.mailrc,用于定義用戶的特殊mail環(huán)境。一般情況下,系統(tǒng)給出的配置可以適合大多數(shù)用戶的需求,用戶自己可以不做任何配置。用戶最常用的配置項(xiàng)是定義別名,格式是:
alias別名地址表
別名的作用相當(dāng)于地址簿。如,創(chuàng)建一個(gè)~/.mailrc文件,將下面一行加入到文件中,則當(dāng)需要向別名中定義的3個(gè)人發(fā)郵件時(shí),接收地址只要寫(xiě)sales_team即可。
aliassales_teamzhaoyang@limi87@liliu@
用戶如需做其他配置可參考mail命令的man手冊(cè)頁(yè)。
2.閱讀和處理郵件
用戶登錄系統(tǒng)時(shí),如果用戶郵箱中有新到的郵件,系統(tǒng)會(huì)通知用戶:Youhavemail。用戶可以用mail命令來(lái)翻閱和處理郵件,命令格式是:mail。
不帶參數(shù)和選項(xiàng)地執(zhí)行mail命令,將會(huì)啟動(dòng)一個(gè)交互式的mail會(huì)話。mail首先會(huì)顯示出郵箱中的郵件標(biāo)題列表。缺省的列表格式是:
郵件狀態(tài)郵件編號(hào)發(fā)送者地址發(fā)送時(shí)間郵件行數(shù)/字符數(shù)郵件標(biāo)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 籃球俱樂(lè)部課程設(shè)計(jì)
- 疼痛診療學(xué)復(fù)習(xí)資料(含名詞解釋和問(wèn)答題答案)課件
- 樁基施工安全措施
- 二零二五年度房屋加固工程合同內(nèi)取消特定施工內(nèi)容補(bǔ)充條款
- 2025年度城市軌道交通信號(hào)系統(tǒng)安裝合同范文
- 2025版辦公桌椅定制生產(chǎn)與售后服務(wù)合同2篇
- 橋梁維修網(wǎng)架頂升施工方案
- 2024年設(shè)計(jì)院與建設(shè)方設(shè)計(jì)修改合同
- 二零二五年度精密塑料模具加工與質(zhì)量控制合同
- 2025年度宅基地買賣與鄉(xiāng)村振興戰(zhàn)略實(shí)施協(xié)議
- 社區(qū)矯正人員心理健康講座模板課件
- 中國(guó)和新加坡的英漢雙語(yǔ)教育政策比較研究
- 危險(xiǎn)品運(yùn)輸車輛租賃合同
- 急性呼吸衰竭的急救(病案查房)
- 2025年日歷有農(nóng)歷有周數(shù)周一開(kāi)始(A4紙可編輯可直接打印)
- 裝配式鋼結(jié)構(gòu)工程計(jì)量與計(jì)價(jià)PPT完整全套教學(xué)課件
- 2006年度銀行業(yè)金融機(jī)構(gòu)信息科技風(fēng)險(xiǎn)評(píng)價(jià)審計(jì)要點(diǎn)
- 基于PLC的校園照明智能控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 《并聯(lián)機(jī)器人運(yùn)動(dòng)學(xué)》
- 中國(guó)聯(lián)通動(dòng)環(huán)監(jiān)控系統(tǒng)C接口-0812
- 現(xiàn)澆梁鋼管柱+貝雷片支架驗(yàn)收表
評(píng)論
0/150
提交評(píng)論