計算機(jī)網(wǎng)絡(luò)講義(9)-FTP_第1頁
計算機(jī)網(wǎng)絡(luò)講義(9)-FTP_第2頁
計算機(jī)網(wǎng)絡(luò)講義(9)-FTP_第3頁
計算機(jī)網(wǎng)絡(luò)講義(9)-FTP_第4頁
計算機(jī)網(wǎng)絡(luò)講義(9)-FTP_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第3章 應(yīng)用層的典型應(yīng)用3.4 FTP應(yīng)用 13.4.1 FTP協(xié)議基礎(chǔ)一、FTP概述協(xié)議族中的一個協(xié)議,定義的是一個在遠(yuǎn)程計算機(jī)系統(tǒng)和本地計算機(jī)系統(tǒng)之間傳輸文件的標(biāo)準(zhǔn),是Internet文件傳送的基礎(chǔ);FTP使用TCP可靠的傳輸服務(wù)(三次握手建立連接);FTP采用客戶/服務(wù)器模式,服務(wù)器的FTP標(biāo)準(zhǔn)TCP端口號為21;2二、FTP的基本工作原理1、FTP服務(wù)器的主進(jìn)程完成如下工作:1)打開21號端口;2)等待客戶進(jìn)程連接請求;3)啟動從屬進(jìn)程處理收到的請求;2、FTP客戶端完成如下工作:發(fā)起對服務(wù)器的請求;發(fā)送FTP客戶端命令;接收或發(fā)送數(shù)據(jù)。3三、在FTP會話存在有兩個獨(dú)立的TCP連接 F

2、TP會話過程中存在兩個獨(dú)立的TCP連接:控制連接和數(shù)據(jù)連接。控制連接主要用來傳送在實際通信過程中需要執(zhí)行的FTP命令以及命令的響應(yīng),只需要很小的網(wǎng)絡(luò)帶寬。FTP服務(wù)器監(jiān)聽端口號21來等待控制連接建立請求,建立以后并不立即建立數(shù)據(jù)連接。數(shù)據(jù)連接是等到需要要目錄列表、需要傳輸文件時才臨時建立的(當(dāng)數(shù)據(jù)連接模式為PORT時服務(wù)器端口號為20,否則端口號為隨機(jī)分配的號), 一旦數(shù)據(jù)傳輸完畢,就中斷這條臨時的數(shù)據(jù)連接。 在FTP連接期間,控制連接始終保持通暢的連接狀態(tài)。 在數(shù)據(jù)連接存在期間內(nèi),控制連接肯定是存在的; 一旦控制連接斷開,數(shù)據(jù)連接會自動關(guān)閉。 4四、FTP數(shù)據(jù)連接的兩種模式 FTP的數(shù)據(jù)連接

3、模式有兩種:PORT和PASV。PORT模式是一個主動模式,PASV是被動模式,這里都是相對于服務(wù)器而言的。PORT模式:當(dāng)用戶要列出服務(wù)器上的目錄結(jié)構(gòu)命令或傳文件時,首先就要建立一個數(shù)據(jù)通道,此時客戶端會發(fā)出PORT指令告訴服務(wù)器自己的什么端口打開了,可以來建立一條數(shù)據(jù)通道(這個命令由控制信道發(fā)送給服務(wù)器),當(dāng)服務(wù)器接到這一指令時,服務(wù)器會使用20端口主動連接用戶在PORT指令中指定的端口號,用以發(fā)送目錄的列表。5例:PORT 192,168,10,111,28,37告訴服務(wù)器當(dāng)收到這個PORT指令后,可以連接FTP客戶的28x256+37=7205這個端口。(客戶端打開某一端口,等待服務(wù)器

4、端主動建立數(shù)據(jù)連接,所以為主動模式) PASV模式: 用戶需要建立一個數(shù)據(jù)通道時FTP客戶端發(fā)送一個PASV的指令,F(xiàn)TP服務(wù)器端應(yīng)答返回一個已經(jīng)打開的端口讓FTP客戶端連接上,開始數(shù)據(jù)傳輸。例:FTP服務(wù)器應(yīng)答為 227 Entering Passive Mode (200,10,211,111,13,113)則表明服務(wù)器已打開13x256+113=3441這個端口,客戶端可以連接這個端口。(服務(wù)器端打開某一端口,等待客戶端來建立數(shù)據(jù)連接,所以稱為被動模式) 6五、FTP用戶授權(quán)和FTP的傳輸模式 FTP用戶必須擁有FTP服務(wù)器的授權(quán)帳號,即有一個用戶名和口令后才能登錄;大多數(shù)FTP服務(wù)器都

5、支持“匿名”登錄;用戶可以使用特殊的用戶名“anonymous”和E-mail地址為口令登錄支持“匿名”登錄的FTP服務(wù)器;FTP的傳輸有兩種模式:ASCII模式和二進(jìn)制數(shù)據(jù)傳輸模式7六、FTP協(xié)議的命令交互下圖描述了客戶端和FTP服務(wù)器以及它們之間的連接情況,用戶使用FTP客戶端命令和FTP服務(wù)器交互,兩邊的協(xié)議解釋器將該命令轉(zhuǎn)換成在控制連接中發(fā)送和傳回的內(nèi)部命令和應(yīng)答。文件傳輸FTP服務(wù)器FTP用戶接口用戶接口FTP客戶端本地文件系統(tǒng)遠(yuǎn)程文件系統(tǒng)用戶或主機(jī)8(一)、FTP內(nèi)部命令在客戶端和服務(wù)器端交換數(shù)據(jù)時,使用FTP協(xié)議所規(guī)定的一系列FTP命令進(jìn)行,具體說來,客戶端發(fā)出以下FTP命令,服

6、務(wù)器端對每個FTP命令至少返回一個響應(yīng),這樣,即實現(xiàn)了數(shù)據(jù)傳輸請求和傳輸過程的同步,又讓用戶了解服務(wù)器的狀態(tài)??蛻舳税l(fā)出的FTP命令簡介如下:1、USER name 以name為用戶名訪問FTP服務(wù)器;2、PASS password 發(fā)送口令;3、PWD 顯示服務(wù)器當(dāng)前目錄名稱; 4、LIST pathname 顯示服務(wù)器指定(或當(dāng)前)目錄中的文件和目錄列表;5、CWD pathname 進(jìn)入服務(wù)器的pathname 目錄中; 9 6、MKD dirname 在服務(wù)器當(dāng)前目錄下建立新目錄dirname;7、RETR 下載到本地硬盤的當(dāng)前目錄中;8、STOR 上傳 到服務(wù)器的當(dāng)前目錄中;9、DE

7、LE 刪除服務(wù)器中的文件;10、RMD pathname 刪除服務(wù)器中的目錄pathname;11、PORT h1,h2,h3,h4,p1,p2 指定用于建立數(shù)據(jù)連接的主機(jī)地址和端口號;12、PASV 請求服務(wù)器進(jìn)入被動連接狀態(tài);13、QUIT 退出登錄 10(二)、FTP應(yīng)答FTP應(yīng)答由3個數(shù)字開始,后面是一些文本。不同的應(yīng)答碼有不同的意義,簡介如下:220:服務(wù)器準(zhǔn)備好了;331:用戶名正確,需要口令;230:用戶口令正確,登錄成功;200:命令成功;150: 打開數(shù)據(jù)連接;226;關(guān)閉數(shù)據(jù)連接,請求文件的操作成功;221:關(guān)閉控制連接,可以退出登錄;11(三)、FTP客戶端命令FTP的基

8、本命令行格式為: ftp 主機(jī)名 FTP使用的基本內(nèi)部命令如下(中括號表示可選項):1. helpcmd:顯示ftp內(nèi)部命令cmd的幫助信息,如:help get。2. ls remote-dir local-file:顯示服務(wù)器目錄remote-dir中所有子目錄及文件名稱, 并存入本地文件local-file。3. cd remote-dir:進(jìn)入服務(wù)器目錄remote-dir。4. lcddir:將本地工作目錄切換至dir。get remote-file local-file: 將服務(wù)器的文件remote-file下載至本地硬盤,改名為local-file。126、 mkdir remo

9、te-dir 在服務(wù)器當(dāng)前目錄下建立新目錄;7、 put 上傳本地硬盤中的文件到服務(wù)器的當(dāng)前目錄中;8、dele 刪除服務(wù)器中文件9、rmdir remote-dir 刪除服務(wù)器中目錄remote-dir;10、quit:同bye,退出ftp會話。133.4.2 FTP客戶端Windows系統(tǒng)中作為客戶端登錄和訪問FTP服務(wù)器有三種方法: (1)MS-DOS方式下用DOS命令 ftp ;(2)使用圖形化的FTP客戶端軟件。(3)在瀏覽器中利用ftp協(xié)議,即在地址欄中鍵入“用戶名:用戶密碼網(wǎng)站域名”;其中第三種方法借助于HTTP協(xié)議實現(xiàn)對FTP服務(wù)器的訪問,不是純粹的FTP協(xié)議的實現(xiàn),我們重點(diǎn)介

10、紹前第一種方法,同學(xué)們可自學(xué)第二種方法,比如安裝CuteFtp軟件。14命令行FTP客戶端的使用在DOS命令提示符下鍵入ftp 回車,就會啟動FTP協(xié)議,并出現(xiàn)ftp系統(tǒng)提示符:ftp_1、用“open 主機(jī)地址”命令連接FTP服務(wù)器,如: 回車2、根據(jù)提示鍵入用戶名和口令,登錄到該服務(wù)器;(匿名登錄的用戶名: anonymous 口令: 郵箱地址) 3、鍵入相應(yīng)FTP客戶端命令可完成下載、上傳文件功能;(大多數(shù)商業(yè)FTP服務(wù)器不提供上傳權(quán)限)4、鍵入quit 中斷與FTP服務(wù)器的連接。15下圖是使用ftp內(nèi)部命令登錄ftp服務(wù)器并下載文件的截圖:16課堂操作:(1)以匿名方式登錄到某FTP服

11、務(wù)器;(2)發(fā)送dir命令查看服務(wù)器當(dāng)前目錄中的文件清單;(3)發(fā)送get命令下載一個文件XXX.XX;(4)發(fā)送quit命令斷開和FTP服務(wù)器的連接。(5)啟動sniffer(過濾條件設(shè)為選中TCP協(xié)議項),將以上四步的全過程抓包,保存數(shù)據(jù);(6)分析抓包數(shù)據(jù): i) 找到以上四步操作各自對應(yīng)的數(shù)據(jù)包(如:open命令即發(fā)起了主動的三次握手,建立21號端口的控制連接;dir命令被解析為兩個FTP內(nèi)部命令:PORT和LIST;等等)17 ii) 找到每個數(shù)據(jù)連接的建立、數(shù)據(jù)傳輸、釋放的數(shù)據(jù)包,確認(rèn)該數(shù)據(jù)連接的端口號來源(是隨機(jī)分配的還是由某命令提供的數(shù)據(jù)計算來的?)183.4.3 協(xié)議實例分析

12、實例操作:客戶端的IP是8,服務(wù)器端的IP是8,操作內(nèi)容是以匿名方式登錄到FTP服務(wù)器,發(fā)送dir命令查看服務(wù)器當(dāng)前目錄中的文件清單,發(fā)送get命令下載一個文件index.html,最后發(fā)送quit命令斷開和FTP服務(wù)器的連接。操作過程如上圖。先開啟sniffer抓包工具,再完成上述操作,最后關(guān)閉抓包,截圖見下面兩圖: 192021當(dāng)用戶發(fā)出命令時,即發(fā)起了和目標(biāo)主機(jī)的建立控制連接的請求,對應(yīng)上圖中第1、2、3幀數(shù)據(jù),完成和服務(wù)器的三次握手過程。第4幀數(shù)據(jù)是控制連接建立好后服務(wù)器發(fā)來的220應(yīng)答,告之服務(wù)器是windows操作系統(tǒng)及其主機(jī)名等信息。用戶發(fā)送用戶名及口令,服務(wù)器給出相應(yīng)回答,對應(yīng)

13、上圖的第6幀到第11幀數(shù)據(jù)??梢钥吹阶グ鼣?shù)據(jù)中FTP命令是USER和PASS,F(xiàn)TP應(yīng)答是331和230,也可以看到用戶名和口令是明文傳遞的。22用戶發(fā)送dir命令,服務(wù)器返回其當(dāng)前目錄的文件清單,這一過程對應(yīng)圖中第12幀數(shù)據(jù)到第26幀數(shù)據(jù)。我們來仔細(xì)分析一下這些數(shù)據(jù):(1)第12幀到第15幀數(shù)據(jù)是通過控制連接交互的,首先用戶發(fā)送一個PORT命令告訴服務(wù)器客戶端的5003號端口作好了建立連接的準(zhǔn)備,服務(wù)器返回200告之收到且同意,然后用戶發(fā)送LIST命令請求得到服務(wù)器當(dāng)前目錄的文件清單,服務(wù)器返回150告之收到且同意;(2)第16、17、18幀數(shù)據(jù)是服務(wù)器發(fā)起的建立數(shù)據(jù)連接的三次握手,其中服務(wù)

14、器端的端口號是眾所周知的20號,客戶端端口即是剛才用戶告之的5003號端口;(3)第19幀數(shù)據(jù)是服務(wù)器通過新建立的數(shù)據(jù)連接往客戶端發(fā)送文件清單數(shù)據(jù);23(4)第20幀數(shù)據(jù)到第23幀數(shù)據(jù)是斷開這次新建的數(shù)據(jù)連接的四次握手;(5)第25幀數(shù)據(jù)是服務(wù)器發(fā)回的告之已傳完數(shù)據(jù)的提示。用戶發(fā)送get index.html命令,服務(wù)器將該文件傳送到客戶端,這一過程對應(yīng)圖中第27幀數(shù)據(jù)到第46幀數(shù)據(jù)。仔細(xì)分析會發(fā)現(xiàn),這一過程和上述的dir過程類似,請同學(xué)們自行分析。第47幀數(shù)據(jù)是用戶發(fā)送的QUIT命令。第48幀數(shù)據(jù)是服務(wù)器返回的221同意斷開的應(yīng)答。第49、50幀數(shù)據(jù)是關(guān)閉FTP控制連接。243.4.4 Wi

15、ndows系統(tǒng)用IIS配置FTP服務(wù)器 1、創(chuàng)建FTP站點(diǎn)1)在“計算機(jī)管理”窗口中的控制臺樹中展開“Internet信息服務(wù)”項;2)右擊“默認(rèn)FTP站點(diǎn)”“屬性”“新建”“FTP站點(diǎn)”,出現(xiàn)“FTP站點(diǎn)創(chuàng)建向?qū)g迎信息”對話框“下一步”;3)“FTP站點(diǎn)說明”中為新建的站點(diǎn)起名,便于管理;4)“IP地址和端口設(shè)置”中設(shè)置為本機(jī)IP地址,端口為21;5)“FTP點(diǎn)主目錄”中的路徑設(shè)置為登錄FTP服務(wù)器時看到的文件夾。例如D:read(說明:客戶訪問本FTP服務(wù)器時,顯示的是主目錄下的文檔,同學(xué)們可以自行設(shè)置不同的路徑)256)、設(shè)置“FTP站點(diǎn)訪問權(quán)限”,單擊“下一步”完成任務(wù)向?qū)А?、啟動

16、、停止FTP站點(diǎn)右擊“默認(rèn)FTP站點(diǎn)”“停止”,然后右擊新建的站點(diǎn)名稱“啟動”。3、設(shè)置FTP站點(diǎn)右擊新建的站點(diǎn)名稱“屬性”,選“安全賬號”選項卡,選中“允許匿名連接”,“用戶名”選中某賬號,取消“只允許匿名連接”,選中“允許IIS控制密碼”,。(說明:登錄該FTP服務(wù)器時,使用的就選中的賬號為用戶名)26實驗十六 FTP應(yīng)用實驗一、實驗?zāi)康?、學(xué)習(xí)掌握FTP服務(wù)和FTP協(xié)議的理論知識2、掌握FTP服務(wù)器的配置方法和客戶端的使用3、捕獲訪問FTP服務(wù)過程中的數(shù)據(jù)報文,分析數(shù)據(jù),進(jìn)而深入理解協(xié)議27二、實驗內(nèi)容1、使用IIS建立FTP服務(wù)器,能用匿名用戶帳號進(jìn)行登錄。2、另備一臺機(jī)器配置為DNS服務(wù)器,將域名映射到新配置的FTP服務(wù)器IP地

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論