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

下載本文檔

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

文檔簡(jiǎn)介

FTP文件傳輸協(xié)議分析—應(yīng)用層一、FTP簡(jiǎn)介:1、FTP文件傳送協(xié)議(FileTransferProtocol,簡(jiǎn)稱(chēng)FTP),是一個(gè)用于從一臺(tái)主機(jī)到另送文件的協(xié)議。FTP的主要作用,就是讓用戶(hù)連接上一個(gè)遠(yuǎn)程計(jì)算機(jī)(這些計(jì)算機(jī)上運(yùn)行著FTP服務(wù)器程序)察看遠(yuǎn)程計(jì)算機(jī)有哪些文件,然后把文件從遠(yuǎn)程計(jì)算機(jī)上拷到本地計(jì)算機(jī),或把本地計(jì)算機(jī)的文件送到遠(yuǎn)程計(jì)算機(jī)去。與大多數(shù)Internet服務(wù)一樣,F(xiàn)TP也是一個(gè)客戶(hù)機(jī)/服務(wù)器系統(tǒng)。用戶(hù)通過(guò)一個(gè)支持FTP協(xié)議的客戶(hù)機(jī)程序,連接到在遠(yuǎn)程主機(jī)上的FTP服務(wù)器程序。用戶(hù)通過(guò)客戶(hù)機(jī)程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶(hù)所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶(hù)機(jī)。比如說(shuō),用戶(hù)發(fā)出一條命令,要求服務(wù)器向用戶(hù)傳送某一個(gè)文件的一份拷貝,服務(wù)器會(huì)響應(yīng)這條命令,將指定文件送至用戶(hù)的機(jī)器上??蛻?hù)機(jī)程序代表用戶(hù)接收到這個(gè)文件,將其存放在用戶(hù)目錄中。2、FTP協(xié)議的工作原理,數(shù)據(jù)連接和控制連接,主動(dòng)模式與被動(dòng)模式FTP是基于TCP的應(yīng)用層上的協(xié)議,用于文件傳輸客戶(hù)端通過(guò)發(fā)送命令和服務(wù)端進(jìn)行通信,比如客戶(hù)端發(fā)送“USERyan”,表示用戶(hù)名為yan服務(wù)端返回"331Passwordrequiredforyan.",表示yan這個(gè)賬戶(hù)需要密碼客戶(hù)端在請(qǐng)求服務(wù)端發(fā)送文件或者上傳文件時(shí),有主動(dòng)模式和被動(dòng)模式的分別對(duì)于被動(dòng)模式(PASV),服務(wù)端會(huì)給出一個(gè)端口號(hào),讓客戶(hù)端去連接。這也是多數(shù)FTP客戶(hù)端的缺省模式。對(duì)于主動(dòng)模式(PORT),客戶(hù)端必須給出一個(gè)端口號(hào),服務(wù)端會(huì)通過(guò)它的20端口來(lái)連接客戶(hù)端給出的端口。如果客戶(hù)處于路由器之后,那么服務(wù)器不能直接連接客戶(hù),主動(dòng)模式就會(huì)失效,只能采用被動(dòng)模式;反之如果服務(wù)器處于路由之后,則只能采用主動(dòng)模式。二、FTP分析實(shí)驗(yàn)中主機(jī)ip為70作為服務(wù)器,主機(jī)ip為3的主機(jī)作為客戶(hù)機(jī),客戶(hù)端上使用的FTP客戶(hù)端軟件為8uftp。實(shí)驗(yàn)圖如下:客戶(hù)機(jī)FTP協(xié)議服務(wù)器Ip:370建立站點(diǎn),然后選著模式。例如:1、主動(dòng)模式(port)的分析:在抓包之前,先建立FTP會(huì)話連接到FTP服務(wù)器70。從服務(wù)器上成功下載了.gif的文件。截圖如下:服務(wù)器從客戶(hù)機(jī)獲取.doc的文件成功。截圖如下:抓包分析,截圖如下:由這個(gè)抓包工具可以知道,服務(wù)器的名稱(chēng)為:yan,密碼為:yan,70是作為服務(wù)器,3是作為客戶(hù)機(jī)。(下面是客戶(hù)機(jī)下載.gif文件的抓包截圖)由上圖可知:客戶(hù)機(jī)使用暫時(shí)的源端口號(hào)為:52103服務(wù)器使用暫時(shí)的源端口號(hào)為:21客戶(hù)機(jī)使用port命令從控制鏈接上,把端口號(hào)52103發(fā)向服務(wù)器。服務(wù)器在控制連接上接受端口號(hào)52103,并向客戶(hù)機(jī)上的二端口發(fā)布一個(gè)主動(dòng)打開(kāi)52103a、客戶(hù)端發(fā)送一個(gè)TCPSYN(TCP同步)包給服務(wù)器段眾所周知的FTP控制端口21,客戶(hù)端使用暫時(shí)的端口作為它的源端口;b、服務(wù)器端發(fā)送SYNACK(同步確認(rèn))包給客戶(hù)端,源端口為21,目的端口為客戶(hù)端上使用的暫時(shí)端口;c、客戶(hù)端發(fā)送一個(gè)ACK(確認(rèn))包;客戶(hù)端使用這個(gè)連接來(lái)發(fā)送FTP命令,服務(wù)器端使用這個(gè)連接來(lái)發(fā)送FTP應(yīng)答;d、當(dāng)用戶(hù)請(qǐng)求一個(gè)列表(List)請(qǐng)求或者發(fā)起一個(gè)要求發(fā)送或者接受文件的請(qǐng)求,客戶(hù)端軟件使用PORT命令,這個(gè)命令包含了一個(gè)暫時(shí)的端口,客戶(hù)端希望服務(wù)器在打開(kāi)一個(gè)數(shù)據(jù)連接時(shí)候使用這個(gè)暫時(shí)端口;PORT命令也包含了一個(gè)IP地址,這個(gè)IP地址通常是客戶(hù)自己的IP地址,而且FTP也支持第三方(third-party)模式,第三方模式是客戶(hù)端告訴服務(wù)器端打開(kāi)與另臺(tái)主機(jī)的連接;e、服務(wù)器端發(fā)送一個(gè)SYN包給客戶(hù)端的暫時(shí)端口,源端口為20,暫時(shí)端口為客戶(hù)端在PORT命令中發(fā)送給服務(wù)器端的暫時(shí)端口號(hào);f、客戶(hù)端以源端口為暫時(shí)端口,目的端口為20發(fā)送一個(gè)SYNACK包;g、服務(wù)器端發(fā)送一個(gè)ACK包;h、發(fā)送數(shù)據(jù)的主機(jī)以這個(gè)連接來(lái)發(fā)送數(shù)據(jù),數(shù)據(jù)以TCP段(注:segment,第4層的PDU)形式發(fā)送(一些命令,如STOR表示客戶(hù)端要發(fā)送數(shù)據(jù),RETR表示服務(wù)器段發(fā)送數(shù)據(jù)),這些TCP段都需要對(duì)方進(jìn)行ACK確認(rèn)(注:因?yàn)門(mén)CP協(xié)議是一個(gè)面向連接的協(xié)議)i、當(dāng)數(shù)據(jù)傳輸完成以后,發(fā)送數(shù)據(jù)的主機(jī)以一個(gè)FIN命令來(lái)結(jié)束數(shù)據(jù)連接,這個(gè)FIN命令需要另一臺(tái)主機(jī)以ACK確認(rèn),另一臺(tái)主機(jī)也發(fā)送一個(gè)FIN命令,這個(gè)FIN命令同樣需要發(fā)送數(shù)據(jù)的主機(jī)以ACK確認(rèn);j、客戶(hù)端能在控制連接上發(fā)送更多的命令,這可以打開(kāi)和關(guān)閉另外的數(shù)據(jù)連接;有時(shí)候客戶(hù)端結(jié)束后,客戶(hù)端以FIN命令來(lái)關(guān)閉一個(gè)控制連接,服務(wù)器端以ACK包來(lái)確認(rèn)客戶(hù)端的FIN,服務(wù)器同樣也發(fā)送它的FIN,客戶(hù)端用ACK來(lái)確認(rèn)。三次握手截圖如下:下面是客戶(hù)機(jī)向服務(wù)器傳送的文件的抓包圖:客戶(hù)機(jī)的臨時(shí)端口號(hào)為:52072服務(wù)器的源端口號(hào)為:21并通過(guò)ack=1和push=1來(lái)確認(rèn)2、被動(dòng)模式(Passive)的分析:關(guān)鍵點(diǎn):服務(wù)端會(huì)給出一個(gè)端口號(hào),讓客戶(hù)端去連接。這也是多數(shù)FTP客戶(hù)端的缺省模式。在被動(dòng)方式FTP中,命令連接和數(shù)據(jù)連接都由客戶(hù)端,這樣就可以解決從服務(wù)器到客戶(hù)端的數(shù)據(jù)端口的入方向連接被防火墻過(guò)濾掉的問(wèn)題。當(dāng)開(kāi)啟一個(gè)FTP連接時(shí),客戶(hù)端打開(kāi)兩個(gè)任意的非特權(quán)本地端口(N>1024和N+1)。第一個(gè)端口連接服務(wù)器的21端口,但與主動(dòng)方式的FTP不同,客戶(hù)端不會(huì)提交PORT命令并允許服務(wù)器來(lái)回連它的數(shù)據(jù)端口,而是提交PASV命令。這樣做的結(jié)果是服務(wù)器會(huì)開(kāi)啟一個(gè)任意的非特權(quán)端口(P>1024),并發(fā)送PORTP命令給客戶(hù)端。然后客戶(hù)端發(fā)起從本地端口N+1到服務(wù)器的端口P的連接用來(lái)傳送數(shù)據(jù)。下圖是客戶(hù)機(jī)從服務(wù)器上下載文件的成功的截圖:抓包圖如下:在被動(dòng)模式下,抓到的包,源端口號(hào)變成了21,目的端口號(hào)變成了52072,這表示,是服務(wù)器向客戶(hù)機(jī)發(fā)送自己的端口號(hào)21以建立連接,這與主動(dòng)模式是相反的。三、總結(jié):命令結(jié)構(gòu):主動(dòng)FTP對(duì)FTP服務(wù)器的管理有利,但對(duì)客戶(hù)端的管理不利。因?yàn)镕TP服務(wù)器企圖與客戶(hù)端的高位隨機(jī)端口建立連接,而這個(gè)端口很有可能被客戶(hù)端的防火墻阻塞掉。被動(dòng)FTP對(duì)FTP客戶(hù)端的管理有利,但對(duì)服務(wù)器端的管理不利。因?yàn)榭蛻?hù)端要與服務(wù)器端建立兩個(gè)連接,其中一個(gè)連到一個(gè)高位隨機(jī)端口,而這個(gè)端口很有可能被服務(wù)器端的防火墻阻塞掉。幸運(yùn)的是,有折衷的辦法。既然FTP服務(wù)器的管理員需要他們的服務(wù)器有最多的客戶(hù)連接,那么必須得支持被動(dòng)FTP。我

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論