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

下載本文檔

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

文檔簡(jiǎn)介

1、第五講第五講 FTPFTP協(xié)議協(xié)議應(yīng)用層應(yīng)用層 應(yīng)用層是應(yīng)用層是TCP/IPTCP/IP協(xié)議組的頂層。在應(yīng)用層中,你可協(xié)議組的頂層。在應(yīng)用層中,你可以看到通過以看到通過TCPTCP和和UDPUDP端口與較低層進(jìn)行通信的網(wǎng)絡(luò)端口與較低層進(jìn)行通信的網(wǎng)絡(luò)應(yīng)用程序和服務(wù)程序。應(yīng)用程序和服務(wù)程序。 TCP/IPTCP/IP的應(yīng)用層確實(shí)是一種能感知網(wǎng)絡(luò)狀況的軟件的應(yīng)用層確實(shí)是一種能感知網(wǎng)絡(luò)狀況的軟件組件,負(fù)責(zé)向組件,負(fù)責(zé)向TCPTCP和和UDPUDP端口發(fā)送信息和接收來自端口發(fā)送信息和接收來自TCPTCP和和UDPUDP端口的信息。這些應(yīng)用層組件并不真是并端口的信息。這些應(yīng)用層組件并不真是并行的,而只是邏

2、輯上相似或等同。行的,而只是邏輯上相似或等同。 FTPFTP協(xié)議協(xié)議FTPFTP是是InternetInternet傳統(tǒng)的服務(wù)之一,其功能主要傳統(tǒng)的服務(wù)之一,其功能主要是在主機(jī)間高速、可靠地傳輸文件是在主機(jī)間高速、可靠地傳輸文件FTPFTP是用于實(shí)現(xiàn)文件傳輸服務(wù)的最主要的規(guī)范,是用于實(shí)現(xiàn)文件傳輸服務(wù)的最主要的規(guī)范,除了最主要的傳輸功能以外,除了最主要的傳輸功能以外,F(xiàn)TPFTP還提供了以還提供了以下功能:下功能:交互方式:命令行方式或圖形用戶界面交互方式:命令行方式或圖形用戶界面數(shù)據(jù)表示:允許客戶端程序指定傳輸數(shù)據(jù)的類型及格數(shù)據(jù)表示:允許客戶端程序指定傳輸數(shù)據(jù)的類型及格式式 身份驗(yàn)證:用戶訪問

3、身份驗(yàn)證:用戶訪問FTPFTP服務(wù)器需要提供經(jīng)過授權(quán)的服務(wù)器需要提供經(jīng)過授權(quán)的用戶名與密碼,以保證數(shù)據(jù)安全,特殊的匿名訪問方用戶名與密碼,以保證數(shù)據(jù)安全,特殊的匿名訪問方式則取消了這種限制式則取消了這種限制FTPFTP的工作原理的工作原理FTPFTP使用客戶端使用客戶端服務(wù)器模式,用戶執(zhí)行服務(wù)器模式,用戶執(zhí)行FTPFTP程序,程序,客戶端程序先與遠(yuǎn)程服務(wù)器建立連接,用戶登錄到客戶端程序先與遠(yuǎn)程服務(wù)器建立連接,用戶登錄到遠(yuǎn)程服務(wù)器后,向遠(yuǎn)程服務(wù)器發(fā)出傳輸命令,服務(wù)遠(yuǎn)程服務(wù)器后,向遠(yuǎn)程服務(wù)器發(fā)出傳輸命令,服務(wù)器在收到命令后就給予響應(yīng),并執(zhí)行正確的命令器在收到命令后就給予響應(yīng),并執(zhí)行正確的命令FTP

4、FTP會(huì)建立兩種類型的連接:控制連接與數(shù)據(jù)連接。會(huì)建立兩種類型的連接:控制連接與數(shù)據(jù)連接。控制連接傳送客戶端發(fā)出的命令和服務(wù)器返回的響控制連接傳送客戶端發(fā)出的命令和服務(wù)器返回的響應(yīng)信息,數(shù)據(jù)連接則負(fù)責(zé)傳輸文件的內(nèi)容應(yīng)信息,數(shù)據(jù)連接則負(fù)責(zé)傳輸文件的內(nèi)容FTPFTP的工作原理的工作原理FTP模型示意圖模型示意圖 協(xié)議解析器:協(xié)議解析器:Protocol Interpreter,PI數(shù)據(jù)傳輸進(jìn)程:數(shù)據(jù)傳輸進(jìn)程:Data Transfer Process,DTP,負(fù)責(zé)建立并管理數(shù)據(jù)連接負(fù)責(zé)建立并管理數(shù)據(jù)連接 FTPFTP連接過程連接過程用戶用戶PIPI初始化控制連接,在開始階段,用戶初始化控制連接,在

5、開始階段,用戶PIPI將用戶下達(dá)將用戶下達(dá)的命令轉(zhuǎn)化為標(biāo)準(zhǔn)的的命令轉(zhuǎn)化為標(biāo)準(zhǔn)的FTPFTP命令,并通過控制連接發(fā)送至服務(wù)命令,并通過控制連接發(fā)送至服務(wù)器進(jìn)程。器進(jìn)程。服務(wù)器服務(wù)器PIPI收到收到FTPFTP命令后,通過控制連接把標(biāo)準(zhǔn)應(yīng)答信息返命令后,通過控制連接把標(biāo)準(zhǔn)應(yīng)答信息返回給用戶回給用戶PIPI。FTPFTP命令指定了數(shù)據(jù)連接的參數(shù)命令指定了數(shù)據(jù)連接的參數(shù)( (如端口、傳輸模式、數(shù)據(jù)如端口、傳輸模式、數(shù)據(jù)表示類型、文件結(jié)構(gòu)等表示類型、文件結(jié)構(gòu)等) ),以及對(duì)文件系統(tǒng)的操作,以及對(duì)文件系統(tǒng)的操作( (檢索檢索lsls、下載下載getget、上傳、上傳putput、刪除、刪除deletede

6、lete等等) )。用戶用戶DTPDTP在特定的端口偵聽,服務(wù)器初始化數(shù)據(jù)連接并以指在特定的端口偵聽,服務(wù)器初始化數(shù)據(jù)連接并以指定的參數(shù)開始數(shù)據(jù)傳輸。定的參數(shù)開始數(shù)據(jù)傳輸。數(shù)據(jù)傳輸是全雙工連接,而且可以根據(jù)需要?jiǎng)討B(tài)創(chuàng)建,當(dāng)數(shù)據(jù)傳輸是全雙工連接,而且可以根據(jù)需要?jiǎng)討B(tài)創(chuàng)建,當(dāng)要傳輸數(shù)據(jù)時(shí)才建一條數(shù)據(jù)連接,數(shù)據(jù)傳輸完畢則關(guān)閉數(shù)要傳輸數(shù)據(jù)時(shí)才建一條數(shù)據(jù)連接,數(shù)據(jù)傳輸完畢則關(guān)閉數(shù)據(jù)連接據(jù)連接控制連接一直存在,斷開則意味著控制連接一直存在,斷開則意味著FTPFTP會(huì)話結(jié)束會(huì)話結(jié)束FTPFTP的數(shù)據(jù)表示的數(shù)據(jù)表示數(shù)據(jù)表示包括數(shù)據(jù)類型和文件結(jié)構(gòu)兩個(gè)方面數(shù)據(jù)表示包括數(shù)據(jù)類型和文件結(jié)構(gòu)兩個(gè)方面數(shù)據(jù)類型數(shù)據(jù)類型AS

7、CIIASCII類型,默認(rèn)的數(shù)據(jù)類型,用于傳輸文本文件類型,默認(rèn)的數(shù)據(jù)類型,用于傳輸文本文件 EBCDICEBCDIC類型類型( (擴(kuò)充的二進(jìn)制編碼的十進(jìn)制交換碼擴(kuò)充的二進(jìn)制編碼的十進(jìn)制交換碼) ) ,類似,類似ASCIIASCII的規(guī)范,主要在的規(guī)范,主要在IBMIBM計(jì)算機(jī)上使用計(jì)算機(jī)上使用IMAGEIMAGE類型類型( (二進(jìn)制文件類型二進(jìn)制文件類型) )LOCALLOCAL類型類型( (指本地文件指本地文件) )數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)文件結(jié)構(gòu),認(rèn)為文件由連續(xù)的字節(jié)流組成,是默認(rèn)選擇結(jié)構(gòu)文件結(jié)構(gòu),認(rèn)為文件由連續(xù)的字節(jié)流組成,是默認(rèn)選擇結(jié)構(gòu)記錄結(jié)構(gòu),認(rèn)為文件由一系列記錄組成記錄結(jié)構(gòu),認(rèn)為文件由一

8、系列記錄組成頁(yè)結(jié)構(gòu),認(rèn)為文件由一組獨(dú)立的帶編號(hào)的頁(yè)組成頁(yè)結(jié)構(gòu),認(rèn)為文件由一組獨(dú)立的帶編號(hào)的頁(yè)組成FTPFTP的傳輸模式的傳輸模式FTPFTP協(xié)議規(guī)范中規(guī)定了三種傳輸模式協(xié)議規(guī)范中規(guī)定了三種傳輸模式 STREAMSTREAM模式(流模式),默認(rèn)模式,文件以字節(jié)流模式(流模式),默認(rèn)模式,文件以字節(jié)流的形式傳輸?shù)男问絺鬏擝LOCKBLOCK模式(塊模式),文件以一系列數(shù)據(jù)塊的方式模式(塊模式),文件以一系列數(shù)據(jù)塊的方式傳輸,每個(gè)塊都帶有一個(gè)或多個(gè)報(bào)頭,報(bào)頭包括傳輸,每個(gè)塊都帶有一個(gè)或多個(gè)報(bào)頭,報(bào)頭包括1 1字字節(jié)的描述符與節(jié)的描述符與2 2字節(jié)的計(jì)數(shù)字段字節(jié)的計(jì)數(shù)字段COMPRESSEDCOMPR

9、ESSED模式(壓縮模式),采用一種簡(jiǎn)單的全模式(壓縮模式),采用一種簡(jiǎn)單的全長(zhǎng)編碼壓縮算法,壓縮連續(xù)出現(xiàn)的字節(jié),在文本文件長(zhǎng)編碼壓縮算法,壓縮連續(xù)出現(xiàn)的字節(jié),在文本文件中常用來壓縮空白串,在二進(jìn)制文件中常用來壓縮值中常用來壓縮空白串,在二進(jìn)制文件中常用來壓縮值為為0 0的字節(jié)的字節(jié)常用常用FTPFTP模式模式類型:類型:ASCIIASCII或圖像或圖像結(jié)構(gòu):只允許文件結(jié)構(gòu)結(jié)構(gòu):只允許文件結(jié)構(gòu)傳輸方式:只允許流格式傳輸方式:只允許流格式FTPFTP命令命令FTPFTP協(xié)議規(guī)范中定義了許多協(xié)議規(guī)范中定義了許多FTPFTP命令,用于登錄命令,用于登錄FTPFTP服務(wù)器、設(shè)置傳輸參數(shù)、瀏覽服務(wù)上的文

10、件與目錄服務(wù)器、設(shè)置傳輸參數(shù)、瀏覽服務(wù)上的文件與目錄列表、獲取服務(wù)器上的文件、存儲(chǔ)文件到服務(wù)器上,列表、獲取服務(wù)器上的文件、存儲(chǔ)文件到服務(wù)器上,并管理服務(wù)器與客戶端之間文件的傳輸過程。并管理服務(wù)器與客戶端之間文件的傳輸過程。這里所說的這里所說的FTPFTP命令,指的是命令,指的是FTPFTP協(xié)議中定義的標(biāo)準(zhǔn)協(xié)議中定義的標(biāo)準(zhǔn)FTPFTP命令,要特別注意不能與命令,要特別注意不能與FTPFTP程序所提供給的用程序所提供給的用戶使用的操作命令混為一談。戶使用的操作命令混為一談。FTPFTP命令命令FTPFTP協(xié)議中將標(biāo)準(zhǔn)協(xié)議中將標(biāo)準(zhǔn)FTPFTP命令分為三類:命令分為三類:存取控制命令存取控制命令傳輸

11、參數(shù)命令傳輸參數(shù)命令FTPFTP服務(wù)命令服務(wù)命令 FTPFTP命令命令存取控制命令存取控制命令主要提供了用戶身份驗(yàn)證功能和目錄切換功能主要提供了用戶身份驗(yàn)證功能和目錄切換功能命令與格式描述USER username向服務(wù)器提供用戶名以實(shí)現(xiàn)用戶驗(yàn)證PASS password緊隨USER命令,向服務(wù)器提供用戶名相對(duì)應(yīng)的密碼CWD pathname改變當(dāng)前工作目錄CDUP返回到上一級(jí)目錄QUIT從FTP服務(wù)器上退出登錄,關(guān)閉控制連接(若文件傳輸未結(jié)束,則等待傳輸完成再響應(yīng)本命令)常用常用FTP命令(命令(1) 存取控制命令存取控制命令 FTPFTP命令命令傳輸參數(shù)命令傳輸參數(shù)命令傳輸參數(shù)設(shè)置后一直有

12、效,除非用新的命令改變傳輸參傳輸參數(shù)設(shè)置后一直有效,除非用新的命令改變傳輸參數(shù),或者新建立了數(shù)據(jù)連接數(shù),或者新建立了數(shù)據(jù)連接 命令與格式描述PORT host-port使用主動(dòng)(Active)模式傳輸數(shù)據(jù)PASV使用被動(dòng)(Passive)模式傳輸數(shù)據(jù)TYPE type-code設(shè)置文件的數(shù)據(jù)類型STRU structure-code設(shè)置文件的數(shù)據(jù)結(jié)構(gòu)MODE mode-code設(shè)置傳輸模式常用常用FTP命令(命令(2) 傳輸參數(shù)命令傳輸參數(shù)命令 FTPFTP命令命令FTPFTP服務(wù)命令服務(wù)命令定義了一系列文件傳輸及文件系統(tǒng)操作相關(guān)的定義了一系列文件傳輸及文件系統(tǒng)操作相關(guān)的命令,這些命令的參數(shù)通

13、常是命令,這些命令的參數(shù)通常是pathnamepathname(路徑(路徑名),路徑名的書寫必須符合服務(wù)器端的規(guī)范名),路徑名的書寫必須符合服務(wù)器端的規(guī)范常用常用FTP命令(命令(3) FTP服務(wù)命令服務(wù)命令命令與格式描述LIST pathname顯示服務(wù)器上指定路徑下的文件與目錄列表RETR pathname從服務(wù)器上檢索(下載)一個(gè)文件STOR pathname往服務(wù)器上存儲(chǔ)(上傳)一個(gè)文件APPE pathname添加數(shù)據(jù)到服務(wù)器上的指定文件(若文件不存在則自動(dòng)創(chuàng)建)DELE pathname刪除服務(wù)器上的指定文件RNFR pathnameRNTO pathname文件重命名,這兩條命令

14、需要同時(shí)使用:RNFR命令指定舊的文件名,RNTO命令指定新的文件名MKD pathname在服務(wù)器上建立指定目錄RMD pathname從服務(wù)器上刪除指定目錄PWD顯示當(dāng)前工作目錄HELP string返回指定命令信息(若不指定命令名,則返回可用命令列表)STAT返回狀態(tài)信息(如上傳、下載的字節(jié)數(shù)等)SYST返回服務(wù)器上使用操作系統(tǒng)的類型ABOR中止前一命令,并中斷數(shù)據(jù)傳輸NOOP無動(dòng)作(但服務(wù)器會(huì)回送OK作為響應(yīng))FTPFTP應(yīng)答應(yīng)答服務(wù)器接收客戶端命令并處理之后,會(huì)返回給客戶服務(wù)器接收客戶端命令并處理之后,會(huì)返回給客戶端相應(yīng)的命令響應(yīng)信息,這種返回響應(yīng)的方式稱作端相應(yīng)的命令響應(yīng)信息,這種

15、返回響應(yīng)的方式稱作FTPFTP應(yīng)答應(yīng)答FTPFTP應(yīng)答保證了文件傳輸過程中請(qǐng)求與行為的同步,應(yīng)答保證了文件傳輸過程中請(qǐng)求與行為的同步,并使得用戶進(jìn)程總是能了解服務(wù)器的狀態(tài)并使得用戶進(jìn)程總是能了解服務(wù)器的狀態(tài)每條每條FTPFTP命令可以產(chǎn)生一條或多條響應(yīng),但多數(shù)情況命令可以產(chǎn)生一條或多條響應(yīng),但多數(shù)情況下,每條命令只返回一條響應(yīng)下,每條命令只返回一條響應(yīng)FTPFTP應(yīng)答應(yīng)答FTPFTP響應(yīng)與響應(yīng)與FTPFTP命令一樣,都是在客戶端與服務(wù)器命令一樣,都是在客戶端與服務(wù)器之間的控制連接上以之間的控制連接上以NVT ASCIINVT ASCII碼形式傳送,并碼形式傳送,并在每行末尾以在每行末尾以CR-

16、LFCR-LF標(biāo)志行結(jié)束標(biāo)志行結(jié)束FTPFTP響應(yīng)由一個(gè)響應(yīng)由一個(gè)3 3位的數(shù)字代碼(應(yīng)答碼),一個(gè)位的數(shù)字代碼(應(yīng)答碼),一個(gè)字符串形式的表示命令執(zhí)行成功與否的文本,以字符串形式的表示命令執(zhí)行成功與否的文本,以及命令執(zhí)行成功后的輸出組成。及命令執(zhí)行成功后的輸出組成。FTPFTP響應(yīng)的格式:響應(yīng)的格式:CR-LF為為3 3位數(shù)字的應(yīng)答碼位數(shù)字的應(yīng)答碼表示空格表示空格是一行提供給用戶閱讀的文本信是一行提供給用戶閱讀的文本信息息是行結(jié)束符是行結(jié)束符FTPFTP應(yīng)答應(yīng)答應(yīng)答碼描述1yz肯定預(yù)備應(yīng)答。它僅僅是在發(fā)送另一個(gè)命令前期在另一個(gè)應(yīng)答時(shí)啟動(dòng)2yz表示命令已執(zhí)行成功,可以接受新命令(該命令同時(shí)返回

17、命令的執(zhí)行結(jié)果)3yz表示該命令已被接受,但還需要發(fā)送另一個(gè)命令來成功完成客戶端的請(qǐng)求4yz表示命令執(zhí)行時(shí)出錯(cuò),但錯(cuò)誤狀態(tài)是暫時(shí)的,命令可以稍后再發(fā)送5yz表示命令無法被接受(不能通過重新發(fā)送命令來解決)x0z表示命令中有語(yǔ)法錯(cuò)誤x1z表示返回請(qǐng)求的信息(如HELP命令)x2z表示響應(yīng)與控制連接或數(shù)據(jù)連接有關(guān)x3z表示響應(yīng)中包含了用戶賬戶信息x4z暫時(shí)未指定含義x5z表示服務(wù)器上響應(yīng)客戶端命令的文件系統(tǒng)狀態(tài)FTP應(yīng)答碼中第應(yīng)答碼中第1位和第位和第2位的含義位的含義 FTPFTP連接管理連接管理進(jìn)行通信時(shí),進(jìn)行通信時(shí),F(xiàn)TPFTP需要建立兩個(gè)需要建立兩個(gè)TCPTCP連接連接控制連接(端口號(hào)默認(rèn)值

18、為控制連接(端口號(hào)默認(rèn)值為2121):用于發(fā)送指指令給服):用于發(fā)送指指令給服務(wù)器及接收服務(wù)器響應(yīng)務(wù)器及接收服務(wù)器響應(yīng)數(shù)據(jù)連接(端口號(hào)默認(rèn)值為數(shù)據(jù)連接(端口號(hào)默認(rèn)值為2020,僅,僅PORTPORT模式):數(shù)據(jù)傳模式):數(shù)據(jù)傳輸?shù)耐ǖ垒數(shù)耐ǖ繤TPFTP協(xié)議中規(guī)定了兩種連接模式協(xié)議中規(guī)定了兩種連接模式PORTPORT(主動(dòng)模式)(主動(dòng)模式)PASVPASV(被動(dòng)模式)(被動(dòng)模式)PORTPORT模式模式 數(shù)據(jù)連接由服務(wù)器初始化完成數(shù)據(jù)連接由服務(wù)器初始化完成客戶端選擇一個(gè)大于客戶端選擇一個(gè)大于10241024的端口連接服務(wù)器的的端口連接服務(wù)器的2121端口端口需傳輸數(shù)據(jù)時(shí),客戶端會(huì)送出需傳輸數(shù)據(jù)時(shí),客戶端會(huì)送出PORTPORT命令告訴服務(wù)器連接到自己命令告訴服務(wù)器連接到自己的某一端口來建立數(shù)據(jù)連接,同時(shí)偵聽該端口的某一端口來建立數(shù)據(jù)連接,同時(shí)偵聽該端口服務(wù)器收到服務(wù)器收到PORTPORT命令時(shí),會(huì)使用命令時(shí),會(huì)使用2020端口連接客戶端在端口連接客戶端在PORTPORT命令命令中指定的端口號(hào),然后傳輸數(shù)據(jù)中指定的端口號(hào),然后傳輸數(shù)據(jù)使用使用PORT模式的模式的FT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論