第5章FTP協(xié)議分析_第1頁
第5章FTP協(xié)議分析_第2頁
第5章FTP協(xié)議分析_第3頁
第5章FTP協(xié)議分析_第4頁
第5章FTP協(xié)議分析_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第五講FTP協(xié)議應(yīng)用層應(yīng)用層是TCP/IP協(xié)議組的頂層。在應(yīng)用層中,你可以看到通過TCP和UDP端口與較低層進行通信的網(wǎng)絡(luò)應(yīng)用程序和服務(wù)程序。TCP/IP的應(yīng)用層確實是一種能感知網(wǎng)絡(luò)狀況的軟件組件,負責(zé)向TCP和UDP端口發(fā)送信息和接收來自TCP和UDP端口的信息。這些應(yīng)用層組件并不真是并行的,而只是邏輯上相似或等同。FTP協(xié)議FTP是Internet傳統(tǒng)的服務(wù)之一,其功能主要是在主機間高速、可靠地傳輸文件FTP是用于實現(xiàn)文件傳輸服務(wù)的最主要的規(guī)范,除了最主要的傳輸功能以外,F(xiàn)TP還提供了以下功能:交互方式:命令行方式或圖形用戶界面數(shù)據(jù)表示:允許客戶端程序指定傳輸數(shù)據(jù)的類型及格式身份驗證:用戶訪問FTP服務(wù)器需要提供經(jīng)過授權(quán)的用戶名與密碼,以保證數(shù)據(jù)安全,特殊的匿名訪問方式則取消了這種限制FTP的工作原理FTP使用客戶端–服務(wù)器模式,用戶執(zhí)行FTP程序,客戶端程序先與遠程服務(wù)器建立連接,用戶登錄到遠程服務(wù)器后,向遠程服務(wù)器發(fā)出傳輸命令,服務(wù)器在收到命令后就給予響應(yīng),并執(zhí)行正確的命令FTP會建立兩種類型的連接:控制連接與數(shù)據(jù)連接??刂七B接傳送客戶端發(fā)出的命令和服務(wù)器返回的響應(yīng)信息,數(shù)據(jù)連接則負責(zé)傳輸文件的內(nèi)容FTP的工作原理FTP模型示意圖協(xié)議解析器:ProtocolInterpreter,PI數(shù)據(jù)傳輸進程:DataTransferProcess,DTP,負責(zé)建立并管理數(shù)據(jù)連接FTP連接過程用戶PI初始化控制連接,在開始階段,用戶PI將用戶下達的命令轉(zhuǎn)化為標準的FTP命令,并通過控制連接發(fā)送至服務(wù)器進程。服務(wù)器PI收到FTP命令后,通過控制連接把標準應(yīng)答信息返回給用戶PI。FTP命令指定了數(shù)據(jù)連接的參數(shù)(如端口、傳輸模式、數(shù)據(jù)表示類型、文件結(jié)構(gòu)等),以及對文件系統(tǒng)的操作(檢索ls、下載get、上傳put、刪除delete等)。用戶DTP在特定的端口偵聽,服務(wù)器初始化數(shù)據(jù)連接并以指定的參數(shù)開始數(shù)據(jù)傳輸。數(shù)據(jù)傳輸是全雙工連接,而且可以根據(jù)需要動態(tài)創(chuàng)建,當要傳輸數(shù)據(jù)時才建一條數(shù)據(jù)連接,數(shù)據(jù)傳輸完畢則關(guān)閉數(shù)據(jù)連接控制連接一直存在,斷開則意味著FTP會話結(jié)束FTP的數(shù)據(jù)表示數(shù)據(jù)表示包括數(shù)據(jù)類型和文件結(jié)構(gòu)兩個方面數(shù)據(jù)類型ASCII類型,默認的數(shù)據(jù)類型,用于傳輸文本文件EBCDIC類型(擴充的二進制編碼的十進制交換碼),類似ASCII的規(guī)范,主要在IBM計算機上使用IMAGE類型(二進制文件類型)LOCAL類型(指本地文件)數(shù)據(jù)結(jié)構(gòu)文件結(jié)構(gòu),認為文件由連續(xù)的字節(jié)流組成,是默認選擇結(jié)構(gòu)記錄結(jié)構(gòu),認為文件由一系列記錄組成頁結(jié)構(gòu),認為文件由一組獨立的帶編號的頁組成FTP的傳輸模式FTP協(xié)議規(guī)范中規(guī)定了三種傳輸模式STREAM模式(流模式),默認模式,文件以字節(jié)流的形式傳輸BLOCK模式(塊模式),文件以一系列數(shù)據(jù)塊的方式傳輸,每個塊都帶有一個或多個報頭,報頭包括1字節(jié)的描述符與2字節(jié)的計數(shù)字段COMPRESSED模式(壓縮模式),采用一種簡單的全長編碼壓縮算法,壓縮連續(xù)出現(xiàn)的字節(jié),在文本文件中常用來壓縮空白串,在二進制文件中常用來壓縮值為0的字節(jié)常用FTP模式類型:ASCII或圖像結(jié)構(gòu):只允許文件結(jié)構(gòu)傳輸方式:只允許流格式FTP命令FTP協(xié)議規(guī)范中定義了許多FTP命令,用于登錄FTP服務(wù)器、設(shè)置傳輸參數(shù)、瀏覽服務(wù)上的文件與目錄列表、獲取服務(wù)器上的文件、存儲文件到服務(wù)器上,并管理服務(wù)器與客戶端之間文件的傳輸過程。這里所說的FTP命令,指的是FTP協(xié)議中定義的標準FTP命令,要特別注意不能與FTP程序所提供給的用戶使用的操作命令混為一談。FTP命令FTP協(xié)議中將標準FTP命令分為三類:存取控制命令傳輸參數(shù)命令FTP服務(wù)命令FTP命令存取控制命令主要提供了用戶身份驗證功能和目錄切換功能命令與格式描述USERusername向服務(wù)器提供用戶名以實現(xiàn)用戶驗證PASSpassword緊隨USER命令,向服務(wù)器提供用戶名相對應(yīng)的密碼CWDpathname改變當前工作目錄CDUP返回到上一級目錄QUIT從FTP服務(wù)器上退出登錄,關(guān)閉控制連接(若文件傳輸未結(jié)束,則等待傳輸完成再響應(yīng)本命令)常用FTP命令(1)存取控制命令FTP命令傳輸參數(shù)命令

傳輸參數(shù)設(shè)置后一直有效,除非用新的命令改變傳輸參數(shù),或者新建立了數(shù)據(jù)連接命令與格式描述PORThost-port使用主動(Active)模式傳輸數(shù)據(jù)PASV使用被動(Passive)模式傳輸數(shù)據(jù)TYPEtype-code設(shè)置文件的數(shù)據(jù)類型STRUstructure-code設(shè)置文件的數(shù)據(jù)結(jié)構(gòu)MODEmode-code設(shè)置傳輸模式常用FTP命令(2)傳輸參數(shù)命令FTP命令FTP服務(wù)命令

定義了一系列文件傳輸及文件系統(tǒng)操作相關(guān)的命令,這些命令的參數(shù)通常是pathname(路徑名),路徑名的書寫必須符合服務(wù)器端的規(guī)范常用FTP命令(3)FTP服務(wù)命令命令與格式描述LIST[pathname]顯示服務(wù)器上指定路徑下的文件與目錄列表RETRpathname從服務(wù)器上檢索(下載)一個文件STORpathname往服務(wù)器上存儲(上傳)一個文件APPEpathname添加數(shù)據(jù)到服務(wù)器上的指定文件(若文件不存在則自動創(chuàng)建)DELEpathname刪除服務(wù)器上的指定文件RNFRpathnameRNTOpathname文件重命名,這兩條命令需要同時使用:RNFR命令指定舊的文件名,RNTO命令指定新的文件名MKDpathname在服務(wù)器上建立指定目錄RMDpathname從服務(wù)器上刪除指定目錄PWD顯示當前工作目錄HELP[string]返回指定命令信息(若不指定命令名,則返回可用命令列表)STAT返回狀態(tài)信息(如上傳、下載的字節(jié)數(shù)等)SYST返回服務(wù)器上使用操作系統(tǒng)的類型ABOR中止前一命令,并中斷數(shù)據(jù)傳輸NOOP無動作(但服務(wù)器會回送OK作為響應(yīng))FTP應(yīng)答服務(wù)器接收客戶端命令并處理之后,會返回給客戶端相應(yīng)的命令響應(yīng)信息,這種返回響應(yīng)的方式稱作FTP應(yīng)答FTP應(yīng)答保證了文件傳輸過程中請求與行為的同步,并使得用戶進程總是能了解服務(wù)器的狀態(tài)每條FTP命令可以產(chǎn)生一條或多條響應(yīng),但多數(shù)情況下,每條命令只返回一條響應(yīng)FTP應(yīng)答FTP響應(yīng)與FTP命令一樣,都是在客戶端與服務(wù)器之間的控制連接上以NVTASCII碼形式傳送,并在每行末尾以CR-LF標志行結(jié)束FTP響應(yīng)由一個3位的數(shù)字代碼(應(yīng)答碼),一個字符串形式的表示命令執(zhí)行成功與否的文本,以及命令執(zhí)行成功后的輸出組成。FTP響應(yīng)的格式:

<3-digitcode><SP><onelineoftext><CR-LF><3-digitcode>為3位數(shù)字的應(yīng)答碼<SP>表示空格<onelineoftext>是一行提供給用戶閱讀的文本信息<CR-LF>是行結(jié)束符FTP應(yīng)答應(yīng)答碼描述1yz肯定預(yù)備應(yīng)答。它僅僅是在發(fā)送另一個命令前期在另一個應(yīng)答時啟動2yz表示命令已執(zhí)行成功,可以接受新命令(該命令同時返回命令的執(zhí)行結(jié)果)3yz表示該命令已被接受,但還需要發(fā)送另一個命令來成功完成客戶端的請求4yz表示命令執(zhí)行時出錯,但錯誤狀態(tài)是暫時的,命令可以稍后再發(fā)送5yz表示命令無法被接受(不能通過重新發(fā)送命令來解決)x0z表示命令中有語法錯誤x1z表示返回請求的信息(如HELP命令)x2z表示響應(yīng)與控制連接或數(shù)據(jù)連接有關(guān)x3z表示響應(yīng)中包含了用戶賬戶信息x4z暫時未指定含義x5z表示服務(wù)器上響應(yīng)客戶端命令的文件系統(tǒng)狀態(tài)FTP應(yīng)答碼中第1位和第2位的含義FTP連接管理進行通信時,F(xiàn)TP需要建立兩個TCP連接控制連接(端口號默認值為21):用于發(fā)送指指令給服務(wù)器及接收服務(wù)器響應(yīng)數(shù)據(jù)連接(端口號默認值為20,僅PORT模式):數(shù)據(jù)傳輸?shù)耐ǖ繤TP協(xié)議中規(guī)定了兩種連接模式PORT(主動模式)PASV(被動模式)PORT模式數(shù)據(jù)連接由服務(wù)器初始化完成客戶端選擇一個大于1024的端口連接服務(wù)器的21端口需傳輸數(shù)據(jù)時,客戶端會送出PORT命令告訴服務(wù)器連接到自己的某一端口來建立數(shù)據(jù)連接,同時偵聽該端口服務(wù)器收到PORT命令時,會使用20端口連接客戶端在PORT命令中指定的端口號,然后傳輸數(shù)據(jù)使用PORT模式的FTP連接示意圖PASV模式數(shù)據(jù)連接由客戶端初始化客戶端選擇一個大于1024的端口連接服務(wù)器的21端口需傳輸數(shù)據(jù)時,客戶端向服務(wù)器發(fā)送PASV命令,通知服務(wù)器自己希望連接到服務(wù)器的某一個端口如果服務(wù)器上這個端口是空閑可用的,則服務(wù)器返回ACK作為確認信息,然

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論