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

下載本文檔

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

文檔簡介

1、 FTP協(xié)議分析 鄔猛 (呼倫貝爾學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院10級軟件工程 2010121406)摘要:本論文的目的是描述FTP協(xié)議的基礎(chǔ)理論知識,分析FTP數(shù)據(jù)傳輸時(shí)所捕獲的不同數(shù)據(jù)包,通過數(shù)據(jù)包的分析了解FTP的工作原理。FTP(文件傳輸協(xié)議)使得主機(jī)間可以共享文件。使用 TCP 生成一個(gè)虛擬連接用于控制信息,然后再生成一個(gè)單獨(dú)的 TCP 連接用于數(shù)據(jù)傳輸。控制連接使用類似 TELNET 協(xié)議在主機(jī)間交換命令和消息。文件傳輸協(xié)議是TCP/IP網(wǎng)絡(luò)上兩臺計(jì)算機(jī)傳送文件的協(xié)議,F(xiàn)TP是在TCP/IP網(wǎng)絡(luò)和INTERNET上最早使用的協(xié)議之一,它屬于網(wǎng)絡(luò)協(xié)議組的應(yīng)用層。FTP客戶機(jī)可以給服務(wù)器發(fā)出

2、命令來下載文件,上傳文件,創(chuàng)建或改變服務(wù)器上的目錄。關(guān)鍵詞:FTP 協(xié)議分析 文件傳輸1 引言早期在Internet上傳輸文件,并不是一件容易的事,我們知道 Internet是一個(gè)非常復(fù)雜的計(jì)算機(jī)環(huán)境,有PC、工作站、MAC、服務(wù)器、大型機(jī)等等,而這些計(jì)算機(jī)可能運(yùn)行不同的操作系統(tǒng),有Unix、Dos、 Windows、MacOS等等,各種操作系統(tǒng)之間的文件交流,需要建立一個(gè)統(tǒng)一的文件傳輸協(xié)議,用來從一個(gè)主機(jī)把文件復(fù)制到另一個(gè)主機(jī)。雖然從一個(gè)系統(tǒng)向另一個(gè)系統(tǒng)傳送文件看起來直截了當(dāng),但還有一些問題必須先解決。例如,兩個(gè)文件系統(tǒng)可能使用不同的文件名約定,不同的方法表示文件和數(shù)據(jù),不同的目錄結(jié)構(gòu)。所有

3、這些問題已經(jīng)由FTP以一種簡單巧妙的方法解決了,F(xiàn)TP是應(yīng)用層的協(xié)議,它基于傳輸層,為用戶服務(wù),它們負(fù)責(zé)進(jìn)行文件的傳輸。本文就介紹了FTP的數(shù)據(jù)報(bào)文結(jié)構(gòu)及其工作原理。2 FTP的工作模型 FTP采用了和HTTP一樣的客戶機(jī)/服務(wù)器方式,通過一系列的請求與響應(yīng)來完成數(shù)據(jù)的傳輸。和Telnet一樣,F(xiàn)TP需要提供一種登陸機(jī)制,即需要輸入用戶名和口令,才能進(jìn)入遠(yuǎn)程FTP服務(wù)器,與其它客戶機(jī)服務(wù)器模型不同的是,F(xiàn)TP客戶機(jī)與服務(wù)器之間用TCP建立了雙重連接,一個(gè)是控制連接、一個(gè)是數(shù)據(jù)連接。圖2.1 給出了FTP的基本模型??蛻粲腥齻€(gè)構(gòu)件:用戶接口、客戶控制進(jìn)程和客戶數(shù)據(jù)傳輸進(jìn)程。服務(wù)器有兩個(gè)構(gòu)件:服務(wù)

4、器控制進(jìn)程和服務(wù)器數(shù)據(jù)傳輸進(jìn)程??刂七B接是在控制進(jìn)程之間進(jìn)行的。數(shù)據(jù)連接是在數(shù)據(jù)傳送進(jìn)程間進(jìn)行的。 圖2.1 FTP基本模型整個(gè)會話過程是以控制連接來維持的,控制連接負(fù)責(zé)傳送控制信息,例如用戶名和口令,取文件和放文件等命令。當(dāng)客戶端每次請求傳送文件是,服務(wù)器就與客戶端建立一條數(shù)據(jù)連接,進(jìn)行數(shù)據(jù)傳送,一旦數(shù)據(jù)傳送完畢,數(shù)據(jù)連接會話就會被關(guān)閉,但控制連接依然存在,客戶端可以繼續(xù)發(fā)出命令,直到客戶端退出FTP會話,此時(shí)雙方就關(guān)閉控制進(jìn)程。3 FTP的連接傳送過程3.1 客戶端主動連接服務(wù)器客戶端主動連接服務(wù)器,服務(wù)器以被動方式打開21號端口,以建立控制連接。因?yàn)镕TP是基于TCP可靠傳輸?shù)奈募鬏攨f(xié)

5、議,所以,要通過TCP的三次握手來建立控制連接。如圖3.1、圖3.2和圖3.3是客戶端與服務(wù)器用過三次握手建立控制連接的過程。它們采用3937和21號端口發(fā)送控制信息。 圖3.1 請求端發(fā)送的SYN報(bào)文(第一次握手) 當(dāng)服務(wù)器收到圖3.1的SYN報(bào)文后,發(fā)回一個(gè)如圖3.2包含服務(wù)器初始序號的SYN報(bào)文段作為應(yīng)答。同時(shí),將確認(rèn)序號設(shè)置為客戶的ISN加1以對客戶的SYN報(bào)文段進(jìn)行確認(rèn)。 圖3.2 服務(wù)器發(fā)回的ACK報(bào)文(第二次握手) 當(dāng)客戶端收到如圖3.2的報(bào)文后,客戶必須將確認(rèn)序號設(shè)置為服務(wù)器的ISN加1以對服務(wù)器的SYN報(bào)文進(jìn)行確認(rèn)。如圖3.3所示報(bào)文。 圖3.3 客戶端對服務(wù)器的確認(rèn)報(bào)文(第

6、三次握手)此時(shí),客戶與服務(wù)器之間就建立了控制連接,在整個(gè)過程中,控制連接是一直打開的。3.2 控制連接當(dāng)客戶與服務(wù)器之間建立了控制連接以后,雙方開始在控制連接上進(jìn)行建立數(shù)據(jù)連接前的準(zhǔn)備,首先服務(wù)器向客戶端返回代碼為220的服務(wù)器準(zhǔn)備就緒報(bào)文,如圖3.4所示,表明服務(wù)就緒,服務(wù)器準(zhǔn)備接受新用戶。之后客戶端對服務(wù)器的報(bào)文會送確認(rèn)消息。 圖3.4 服務(wù)器發(fā)回代碼為220的服務(wù)就緒數(shù)據(jù)包隨后,客戶端發(fā)送一個(gè)用戶名user命令,如圖3.5所示。用戶名為anonymous,表明用戶為匿名用戶,服務(wù)器應(yīng)答,代碼為331,表明用戶名被接受,要求輸入口令,如圖3.6所示。同樣,客戶端回送一個(gè)TCP確認(rèn)消息,然后

7、客戶端輸入密碼,服務(wù)器會送一個(gè)如圖3.7,代碼為230的登陸成功報(bào)文。 圖3.5 客戶端發(fā)送的user命令報(bào)文 圖3.6 代碼為331的用戶名正確并要求口令報(bào)文 圖3.7 代碼為230的登陸成功報(bào)文登陸成功后,服務(wù)器發(fā)送一個(gè)命令,如圖3.8所示,可以看到,這個(gè)命令為Entering Passive Mode (192,168,8,32,8,82) 代碼為227。這個(gè),命令包含了兩部分,一個(gè)部分為服務(wù)器的IP地址,即2,另一個(gè)部分即為服務(wù)器打開數(shù)據(jù)連接時(shí)使用的端口,數(shù)據(jù)連接端口號為8*256+82=2130 。 圖3.8 進(jìn)入被動模式的數(shù)據(jù)包 當(dāng)客戶端向服務(wù)器發(fā)送一個(gè)如圖3

8、.9的LIST請求命令后,就開始數(shù)據(jù)連接了。3.3 數(shù)據(jù)連接通過上面的控制連接我們可以得知,服務(wù)器通過被動打開模式將進(jìn)行數(shù)據(jù)傳輸?shù)呐R時(shí)端口號發(fā)送給客戶端,通過圖3.9中的三個(gè)數(shù)據(jù)包我們可以得知,F(xiàn)TP用于傳輸數(shù)據(jù)的連接同樣是通過TCP的三次握手建立的,我們每次傳送文件,客戶端與服務(wù)器之間就會建立一條臨時(shí)的數(shù)據(jù)連接,用于傳輸數(shù)據(jù)。 圖3.9 建立數(shù)據(jù)連接的三次握手當(dāng)我們在端口3938與端口2130間的數(shù)據(jù)連接上傳輸完數(shù)據(jù)之后,服務(wù)器和客戶端通過TCP的4次握手關(guān)閉數(shù)據(jù)連接。數(shù)據(jù)傳輸完畢之后,當(dāng)客戶端發(fā)送一個(gè)如圖3.10的QUIT請求命令,服務(wù)器發(fā)送一個(gè)如圖3.11的回應(yīng)報(bào)文,告訴客戶端斷開連接。

9、接著,通過TCP 的四次握手,結(jié)束整個(gè)FTP回話,F(xiàn)TP協(xié)議的回話過程就到此結(jié)束了。3.4主動模式與被動模式的區(qū)別在FTP建立數(shù)據(jù)連接是,有兩種模式,一種主動模式,一種被動模式。我們上面所描述的是被動模式,它與主動模式的區(qū)別在于,主動模式時(shí),客戶端發(fā)送的為PORT命令給服務(wù)器端,服務(wù)器依據(jù)命令中制定的端口與客戶端建立數(shù)據(jù)連接,在被動模式下,客戶端發(fā)送PASV命令給服務(wù)器端,進(jìn)入被動模式。服務(wù)器應(yīng)答時(shí),包括IP地址和一個(gè)用于建立數(shù)據(jù)連接的端口。而不是使用我們熟知的20號端口,客戶端的端口為自己選擇的一個(gè)端口。4 FTP的通信問題我們知道在不同的計(jì)算機(jī)上運(yùn)行FTP客戶端,我們必須保證客戶端和服務(wù)器

10、能進(jìn)行通信,F(xiàn)TP需要解決的是使不同的操作系統(tǒng)、不同的字符集、不同的文件結(jié)構(gòu)以及不同的文件格式得到兼容的問題。在FTP的控制連接上,它使用NVT ASCII字符集。通過命令與響應(yīng)來完成通信。FTP每次只發(fā)送一條命令或者響應(yīng),每一條都是一個(gè)短行,因此我們不必?fù)?dān)心它的文件格式或文件結(jié)構(gòu)。在FTP的數(shù)據(jù)連接上,可以傳送的文件類型有:ASCII文件 這是傳送文本文件的默認(rèn)格式。每一個(gè)字符使用NVT ASCII進(jìn)行編碼。EBCDIC文件 如果連接的兩端使用EBCDIC編碼,則可以使用EBCDIC編碼傳送。圖像文件 這是傳送二進(jìn)制文件的默認(rèn)格式,這種文件作為連續(xù)的比特流傳送而沒有任何編碼或解釋。5 FTP

11、的命令及響應(yīng)5.1 命令處理命令由FTP客戶控制進(jìn)程發(fā)送的命令形式是ASCII大寫字符,后面的變量可以有,也可以沒有。我們可以將命令粗略地分為6組:接入命令、文件管理命令、數(shù)據(jù)格式化命令、端口定義命令、文件傳送命令以及雜項(xiàng)命令,如表5.1 是常用的接入命令。 表5.1 常用的接入命令 5.2 響應(yīng)每一個(gè)FTP命令產(chǎn)生至少一個(gè)響應(yīng)。3位數(shù)字的數(shù)以及跟隨在后面的文本。數(shù)字代表定義代碼,文本部分定義所需的參數(shù)或額外的解釋。常見的響應(yīng)代碼如表5.2所示。 表5.2 常見的響應(yīng)6 FTP的安全性最初設(shè)計(jì)的FTP協(xié)議時(shí),安全性并不是一個(gè)很嚴(yán)重的問題。盡管FTP在訪問時(shí)需要密碼,但是密碼是以未加密的明文傳送的。這就意味著潛在的攻擊者可以截獲并使用這些密碼。數(shù)據(jù)傳送連接也使用明文傳送數(shù)據(jù),這同樣是安全的。要使其安全,可以在FTP應(yīng)用層和TCP層之間加入安全套接層,這樣FTP就有了安全性,稱為SSL-

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論