




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 FTP協(xié)議分析 鄔猛 (呼倫貝爾學(xué)院計算機科學(xué)與技術(shù)學(xué)院10級軟件工程 2010121406)摘要:本論文的目的是描述FTP協(xié)議的基礎(chǔ)理論知識,分析FTP數(shù)據(jù)傳輸時所捕獲的不同數(shù)據(jù)包,通過數(shù)據(jù)包的分析了解FTP的工作原理。FTP(文件傳輸協(xié)議)使得主機間可以共享文件。使用 TCP 生成一個虛擬連接用于控制信息,然后再生成一個單獨的 TCP 連接用于數(shù)據(jù)傳輸。控制連接使用類似 TELNET 協(xié)議在主機間交換命令和消息。文件傳輸協(xié)議是TCP/IP網(wǎng)絡(luò)上兩臺計算機傳送文件的協(xié)議,F(xiàn)TP是在TCP/IP網(wǎng)絡(luò)和INTERNET上最早使用的協(xié)議之一,它屬于網(wǎng)絡(luò)協(xié)議組的應(yīng)用層。FTP客戶機可以給服務(wù)器發(fā)出
2、命令來下載文件,上傳文件,創(chuàng)建或改變服務(wù)器上的目錄。關(guān)鍵詞:FTP 協(xié)議分析 文件傳輸1 引言早期在Internet上傳輸文件,并不是一件容易的事,我們知道 Internet是一個非常復(fù)雜的計算機環(huán)境,有PC、工作站、MAC、服務(wù)器、大型機等等,而這些計算機可能運行不同的操作系統(tǒng),有Unix、Dos、 Windows、MacOS等等,各種操作系統(tǒng)之間的文件交流,需要建立一個統(tǒng)一的文件傳輸協(xié)議,用來從一個主機把文件復(fù)制到另一個主機。雖然從一個系統(tǒng)向另一個系統(tǒng)傳送文件看起來直截了當,但還有一些問題必須先解決。例如,兩個文件系統(tǒng)可能使用不同的文件名約定,不同的方法表示文件和數(shù)據(jù),不同的目錄結(jié)構(gòu)。所有
3、這些問題已經(jīng)由FTP以一種簡單巧妙的方法解決了,F(xiàn)TP是應(yīng)用層的協(xié)議,它基于傳輸層,為用戶服務(wù),它們負責(zé)進行文件的傳輸。本文就介紹了FTP的數(shù)據(jù)報文結(jié)構(gòu)及其工作原理。2 FTP的工作模型 FTP采用了和HTTP一樣的客戶機/服務(wù)器方式,通過一系列的請求與響應(yīng)來完成數(shù)據(jù)的傳輸。和Telnet一樣,F(xiàn)TP需要提供一種登陸機制,即需要輸入用戶名和口令,才能進入遠程FTP服務(wù)器,與其它客戶機服務(wù)器模型不同的是,F(xiàn)TP客戶機與服務(wù)器之間用TCP建立了雙重連接,一個是控制連接、一個是數(shù)據(jù)連接。圖2.1 給出了FTP的基本模型??蛻粲腥齻€構(gòu)件:用戶接口、客戶控制進程和客戶數(shù)據(jù)傳輸進程。服務(wù)器有兩個構(gòu)件:服務(wù)
4、器控制進程和服務(wù)器數(shù)據(jù)傳輸進程。控制連接是在控制進程之間進行的。數(shù)據(jù)連接是在數(shù)據(jù)傳送進程間進行的。 圖2.1 FTP基本模型整個會話過程是以控制連接來維持的,控制連接負責(zé)傳送控制信息,例如用戶名和口令,取文件和放文件等命令。當客戶端每次請求傳送文件是,服務(wù)器就與客戶端建立一條數(shù)據(jù)連接,進行數(shù)據(jù)傳送,一旦數(shù)據(jù)傳送完畢,數(shù)據(jù)連接會話就會被關(guān)閉,但控制連接依然存在,客戶端可以繼續(xù)發(fā)出命令,直到客戶端退出FTP會話,此時雙方就關(guān)閉控制進程。3 FTP的連接傳送過程3.1 客戶端主動連接服務(wù)器客戶端主動連接服務(wù)器,服務(wù)器以被動方式打開21號端口,以建立控制連接。因為FTP是基于TCP可靠傳輸?shù)奈募鬏攨f(xié)
5、議,所以,要通過TCP的三次握手來建立控制連接。如圖3.1、圖3.2和圖3.3是客戶端與服務(wù)器用過三次握手建立控制連接的過程。它們采用3937和21號端口發(fā)送控制信息。 圖3.1 請求端發(fā)送的SYN報文(第一次握手) 當服務(wù)器收到圖3.1的SYN報文后,發(fā)回一個如圖3.2包含服務(wù)器初始序號的SYN報文段作為應(yīng)答。同時,將確認序號設(shè)置為客戶的ISN加1以對客戶的SYN報文段進行確認。 圖3.2 服務(wù)器發(fā)回的ACK報文(第二次握手) 當客戶端收到如圖3.2的報文后,客戶必須將確認序號設(shè)置為服務(wù)器的ISN加1以對服務(wù)器的SYN報文進行確認。如圖3.3所示報文。 圖3.3 客戶端對服務(wù)器的確認報文(第
6、三次握手)此時,客戶與服務(wù)器之間就建立了控制連接,在整個過程中,控制連接是一直打開的。3.2 控制連接當客戶與服務(wù)器之間建立了控制連接以后,雙方開始在控制連接上進行建立數(shù)據(jù)連接前的準備,首先服務(wù)器向客戶端返回代碼為220的服務(wù)器準備就緒報文,如圖3.4所示,表明服務(wù)就緒,服務(wù)器準備接受新用戶。之后客戶端對服務(wù)器的報文會送確認消息。 圖3.4 服務(wù)器發(fā)回代碼為220的服務(wù)就緒數(shù)據(jù)包隨后,客戶端發(fā)送一個用戶名user命令,如圖3.5所示。用戶名為anonymous,表明用戶為匿名用戶,服務(wù)器應(yīng)答,代碼為331,表明用戶名被接受,要求輸入口令,如圖3.6所示。同樣,客戶端回送一個TCP確認消息,然后
7、客戶端輸入密碼,服務(wù)器會送一個如圖3.7,代碼為230的登陸成功報文。 圖3.5 客戶端發(fā)送的user命令報文 圖3.6 代碼為331的用戶名正確并要求口令報文 圖3.7 代碼為230的登陸成功報文登陸成功后,服務(wù)器發(fā)送一個命令,如圖3.8所示,可以看到,這個命令為Entering Passive Mode (192,168,8,32,8,82) 代碼為227。這個,命令包含了兩部分,一個部分為服務(wù)器的IP地址,即2,另一個部分即為服務(wù)器打開數(shù)據(jù)連接時使用的端口,數(shù)據(jù)連接端口號為8*256+82=2130 。 圖3.8 進入被動模式的數(shù)據(jù)包 當客戶端向服務(wù)器發(fā)送一個如圖3
8、.9的LIST請求命令后,就開始數(shù)據(jù)連接了。3.3 數(shù)據(jù)連接通過上面的控制連接我們可以得知,服務(wù)器通過被動打開模式將進行數(shù)據(jù)傳輸?shù)呐R時端口號發(fā)送給客戶端,通過圖3.9中的三個數(shù)據(jù)包我們可以得知,F(xiàn)TP用于傳輸數(shù)據(jù)的連接同樣是通過TCP的三次握手建立的,我們每次傳送文件,客戶端與服務(wù)器之間就會建立一條臨時的數(shù)據(jù)連接,用于傳輸數(shù)據(jù)。 圖3.9 建立數(shù)據(jù)連接的三次握手當我們在端口3938與端口2130間的數(shù)據(jù)連接上傳輸完數(shù)據(jù)之后,服務(wù)器和客戶端通過TCP的4次握手關(guān)閉數(shù)據(jù)連接。數(shù)據(jù)傳輸完畢之后,當客戶端發(fā)送一個如圖3.10的QUIT請求命令,服務(wù)器發(fā)送一個如圖3.11的回應(yīng)報文,告訴客戶端斷開連接。
9、接著,通過TCP 的四次握手,結(jié)束整個FTP回話,F(xiàn)TP協(xié)議的回話過程就到此結(jié)束了。3.4主動模式與被動模式的區(qū)別在FTP建立數(shù)據(jù)連接是,有兩種模式,一種主動模式,一種被動模式。我們上面所描述的是被動模式,它與主動模式的區(qū)別在于,主動模式時,客戶端發(fā)送的為PORT命令給服務(wù)器端,服務(wù)器依據(jù)命令中制定的端口與客戶端建立數(shù)據(jù)連接,在被動模式下,客戶端發(fā)送PASV命令給服務(wù)器端,進入被動模式。服務(wù)器應(yīng)答時,包括IP地址和一個用于建立數(shù)據(jù)連接的端口。而不是使用我們熟知的20號端口,客戶端的端口為自己選擇的一個端口。4 FTP的通信問題我們知道在不同的計算機上運行FTP客戶端,我們必須保證客戶端和服務(wù)器
10、能進行通信,F(xiàn)TP需要解決的是使不同的操作系統(tǒng)、不同的字符集、不同的文件結(jié)構(gòu)以及不同的文件格式得到兼容的問題。在FTP的控制連接上,它使用NVT ASCII字符集。通過命令與響應(yīng)來完成通信。FTP每次只發(fā)送一條命令或者響應(yīng),每一條都是一個短行,因此我們不必擔(dān)心它的文件格式或文件結(jié)構(gòu)。在FTP的數(shù)據(jù)連接上,可以傳送的文件類型有:ASCII文件 這是傳送文本文件的默認格式。每一個字符使用NVT ASCII進行編碼。EBCDIC文件 如果連接的兩端使用EBCDIC編碼,則可以使用EBCDIC編碼傳送。圖像文件 這是傳送二進制文件的默認格式,這種文件作為連續(xù)的比特流傳送而沒有任何編碼或解釋。5 FTP
11、的命令及響應(yīng)5.1 命令處理命令由FTP客戶控制進程發(fā)送的命令形式是ASCII大寫字符,后面的變量可以有,也可以沒有。我們可以將命令粗略地分為6組:接入命令、文件管理命令、數(shù)據(jù)格式化命令、端口定義命令、文件傳送命令以及雜項命令,如表5.1 是常用的接入命令。 表5.1 常用的接入命令 5.2 響應(yīng)每一個FTP命令產(chǎn)生至少一個響應(yīng)。3位數(shù)字的數(shù)以及跟隨在后面的文本。數(shù)字代表定義代碼,文本部分定義所需的參數(shù)或額外的解釋。常見的響應(yīng)代碼如表5.2所示。 表5.2 常見的響應(yīng)6 FTP的安全性最初設(shè)計的FTP協(xié)議時,安全性并不是一個很嚴重的問題。盡管FTP在訪問時需要密碼,但是密碼是以未加密的明文傳送的。這就意味著潛在的攻擊者可以截獲并使用這些密碼。數(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程質(zhì)量管理流程標準化方案
- 陜西省西安市新城區(qū)2024-2025學(xué)年八年級上學(xué)期期末生物學(xué)試題(含答案)
- 投資理財借款合同
- 城市公園建設(shè)與管理合作協(xié)議
- 教育培訓(xùn)領(lǐng)域在線教育平臺內(nèi)容優(yōu)化策略研究
- 客戶關(guān)系管理解決方案實施報告
- 農(nóng)業(yè)產(chǎn)業(yè)鏈延伸作業(yè)指導(dǎo)書
- 干砌擋土墻現(xiàn)場質(zhì)量檢驗報告單
- 國際貿(mào)易術(shù)語題庫
- 院感知識崗前培訓(xùn)
- 品管圈PDCA案例-介入中心提高手術(shù)患者交接記錄書寫合格率醫(yī)院品質(zhì)管理成果匯報
- 第十七屆山東省職業(yè)院校技能大賽中職組“西式烹飪”賽項規(guī)程
- 華東師范大學(xué)《外國人文經(jīng)典(下)》2022-2023學(xué)年第一學(xué)期期末試卷
- 儲能電池模組PACK和系統(tǒng)集成項目可行性研究報告
- 2024年安徽省公務(wù)員錄用考試《行測》真題及解析
- 2024年陜西省中考數(shù)學(xué)試題含答案
- 牙慢性損傷-楔狀缺損
- JTJ034-2000 公路路面基層施工技術(shù)規(guī)范
- 2024-2030年中國光伏建筑一體化(BIPV)市場規(guī)模預(yù)測與競爭格局分析研究報告
- 零售業(yè)視覺營銷與商品展示技巧考核試卷
- 民營醫(yī)院并購合同范本
評論
0/150
提交評論