TFTP協(xié)議分析_第1頁
TFTP協(xié)議分析_第2頁
TFTP協(xié)議分析_第3頁
TFTP協(xié)議分析_第4頁
TFTP協(xié)議分析_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機網(wǎng)絡(luò)作業(yè) 題 目 TFTP協(xié)議分析 學 院 電子工程學院 專 業(yè) XXXXXXXXXXXX 學生姓名 XXX(學號02113XXX) 導師姓名 胡建偉 1. TFTP協(xié)議簡介TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)是TCP/IP協(xié)議族中的一個用來在客戶機與服務(wù)器之間進行簡單文件傳輸?shù)膮f(xié)議,提供不復雜、開銷不大的文件傳輸服務(wù)。端口號為69。TFTP的版本2是因特網(wǎng)的正式標準RFC 1350。1.1概述雖然TFTP也使用客戶服務(wù)器方式,但它使用UDP數(shù)據(jù)報(但是我們也不能確定有些TFTP協(xié)議是基于其它傳輸協(xié)議完成的),因此TFTP需要自己的差

2、錯改正措施。TFTP只支持文件傳輸而不支持交互。TFTP沒有一個龐大的命令集,因此它不具備通常的FTP的許多功能,它只能從文件服務(wù)器上獲得或?qū)懭胛募?,不能列出目錄,不進行認證,它傳輸8位數(shù)據(jù)。TFTP協(xié)議概述:1.簡單文件傳送協(xié)議(Trivial File Transfer Protocol)2.最初用于引導無盤系統(tǒng),被設(shè)計用來傳輸小文件3.基于UDP協(xié)議實現(xiàn),但也可以由其他協(xié)議實現(xiàn)4.不具備FTP的許多功能5.只能從服務(wù)器獲取或?qū)懭胛募荒芰谐瞿夸?.不進行認證1.2模式與FTP相似,TFTP傳輸過程中也有傳輸模式之分,模式的意思是如何解釋數(shù)據(jù)包里的內(nèi)容,比如是字符串還是二進制等。目前TF

3、TP傳輸有三種模式: netascii型:是8位的ASCII碼形式(文本模式) octet型:即普通的二進制型(二進制模式) mail型:過時,不再使用另外,通訊雙方也可以自定義所需的傳輸模式。1.3特點TFTP的主要特點是:(1) 每次傳送的數(shù)據(jù)報文中有512字節(jié)的數(shù)據(jù),但最后一次可不足512字節(jié)。(2) 數(shù)據(jù)報文按序編號,從1開始。(3) 支持ASCII碼或二進制傳送。(4) 可對文件進行讀或?qū)憽?5) 使用很簡單的首部。1.4優(yōu)點TFTP的優(yōu)點主要有兩個。第一,TFTP可用于UDP環(huán)境。例如,當需要將程序或文件同時向許多機器下載時就往往需要使用TFTP。第二,TFTP代碼所占的內(nèi)存較小。

4、這對較小的計算機或某些特殊用途的設(shè)備是很重要的。這些設(shè)備不需要硬盤,只需要固化了TFTP,UDP和IP的小容量只讀存儲器即可。當接通電源后,設(shè)備執(zhí)行只讀存儲器中的代碼,在網(wǎng)絡(luò)上廣播一個TFTP請求。網(wǎng)絡(luò)上的TFTP服務(wù)器就發(fā)送響應,其中包括可執(zhí)行二進制程序。設(shè)備收到此文件后將其放入內(nèi)存,然后開始運行程序。這種方式增加了靈活性,也減少了開銷。2. TFTP包格式因為TFTP使用UDP,而UDP使用IP,IP還可以使用其它本地通信方法。因此一個TFTP包中會有以下幾段:本地媒介頭,IP頭,數(shù)據(jù)報頭,TFTP頭,剩下的就是TFTP數(shù)據(jù)了。TFTP在IP頭中不指定任何數(shù)據(jù),但是它使用UDP中的源和目標

5、端口以及包長度域。由TFTP使用的包標記(TID)在這里被用做端口,因此TID必須介于0到65,535之間。TFTP頭中包括兩個字節(jié)的操作碼,這個碼指出了包的類型,包頭次序為:TFTP共定義了五種類型的包格式,格式的區(qū)分由包數(shù)據(jù)前兩個字節(jié)的Opcode字段區(qū)分,分別是: 讀文件請求包:Read request,簡寫為RRQ,對應Opcode字段值為1 寫文件請求包:Write request,簡寫為WRQ,對應Opcode字段值為2 文件數(shù)據(jù)包:Data,簡寫為DATA,對應Opcode字段值為3 回應包:Acknowledgement,簡寫為ACK,對應Opcode字段值為4 錯誤信息包:E

6、rror,簡寫為ERROR,對應Opcode字段值為51、 讀寫請求包的格式如下圖:PRQ(讀請求)報文由客戶使用,用來建立一條從服務(wù)器讀數(shù)據(jù)的連接。WRQ(寫請求)報文由客戶使用,用來建立一條把數(shù)據(jù)寫到服務(wù)器的連接,它的格式與PRQ相同,除了頭部的操作碼是2。RRQ和WRQ包(代碼分別為1和2)中,文件名是NETASCII碼字符,以0結(jié)束。而MODE域包括了字符串"netascii","octet"或"mail",名稱不分大小寫。接收到NETASCII格式數(shù)據(jù)的主機必須將數(shù)據(jù)轉(zhuǎn)換為本地格式。OCTET模式用于傳輸文件,這種文件在源機

7、上以8位格式存儲。假設(shè)每個機器都存在一個8位的格式,這樣的假設(shè)是最一般的。比如DEC-20,這是一種36位機,我們可以假設(shè)它是4個8位外加另外4位而構(gòu)成。如果機器收到OCTET格式文件,返回時必須與原來文件完全一樣。在使用MAIL模式時,用戶可以在FILE處使用接收人地址,這個地址可以是用戶名或用戶名主機的形式,如果是后一種形式,允許主機使用電子郵件傳輸此文件。如果使用MAIL類型,包必須以WRQ開始,否則它與NETASCII完全一樣。我們的討論建立在發(fā)送方和接收方都在相同模式的情況下,但是雙方可以以不同的模式進行傳輸。例如一個機器可以是一臺存儲服務(wù)器,這樣一臺服務(wù)器需要將NETASCII格式

8、轉(zhuǎn)換為自己的格式。另外,我們可以設(shè)想DEC-20這種機器,它使用36位字長,用戶這邊可以使用特殊的機制一次讀取36位,而服務(wù)器卻可以仍然使用8位格式。在這兩種情況下,我們看到了兩臺機器使用不同格式的情況。可以在兩臺主機間定義其它的傳輸方式,但是定義要小心,因為這種傳輸方式不為人知,而且也沒有權(quán)威機構(gòu)為其指定名稱或定義它的模式。2、DATA(數(shù)據(jù))報文由客戶和服務(wù)器使用,用來傳送數(shù)據(jù)塊,其格式如下圖所示:數(shù)據(jù)包的操作碼為3,它還包括有一個數(shù)據(jù)塊號和數(shù)據(jù)。數(shù)據(jù)塊號域從1開始編碼,每個數(shù)據(jù)塊加1,這樣接收方可以確定這個包是新數(shù)據(jù)還是已經(jīng)接收過的數(shù)據(jù)。數(shù)據(jù)域從0字節(jié)到512字節(jié)。如果數(shù)據(jù)域是512字節(jié)

9、則它不是最后一個包,如果小于512字節(jié)則表示這個包是最后一個包。除了ACK和用于中斷的包外,其它的包均得到確認。發(fā)出新的數(shù)據(jù)包等于確認上次的包。WRQ和DATA包由ACK或ERROR數(shù)據(jù)包確認,而RRQ數(shù)據(jù)包由DATA或ERROR數(shù)據(jù)包確認。3、ACK(確認)報文由客戶和服務(wù)器使用,用來確認已收到數(shù)據(jù)塊,這個報文只有四字節(jié),其格式如下圖所示:ACK包操作碼為4,其中的包號為要確認的數(shù)據(jù)包的包號。WRQ數(shù)據(jù)包被ACK數(shù)據(jù)包確認,WRQ數(shù)據(jù)包的包號為0。4、ERROR(錯誤)報文由客戶或服務(wù)器使用,用于當一條連接不能建立或在數(shù)據(jù)傳輸中出現(xiàn)了問題,它可以作為PRQ或WRQ的負面響應,但不能用于對受損

10、或重復報文的聲明,其格式如下圖:此包可以被其它任何類型的包確認。錯誤碼指定錯誤的類型。錯誤的值和錯誤的意義如下:0 未定義,請參閱錯誤信息(如果提示這種信息的話)1文件未找到2訪問非法3磁盤滿或超過分配的配額4非法的TFTP操作5未知的傳輸ID6文件已經(jīng)存在7沒有類似的用戶3. TFTP通信流程任何傳輸起自一個讀取或?qū)懭胛募恼埱?,這個請求也是連接請求。如果服務(wù)器批準此請求,則服務(wù)器打開連接,數(shù)據(jù)以定長512字節(jié)傳輸。每個數(shù)據(jù)包包括一塊數(shù)據(jù),服務(wù)器發(fā)出下一個數(shù)據(jù)包以前必須得到客戶對上一個數(shù)據(jù)包的確認。如果一個數(shù)據(jù)包的大小小于512字節(jié),則表示傳輸結(jié)束。如果數(shù)據(jù)包在傳輸過程中丟失,發(fā)出方會在超時

11、后重新傳輸最后一個未被確認的數(shù)據(jù)包。通信的雙方都是數(shù)據(jù)的發(fā)出者與接收者,一方傳輸數(shù)據(jù)接收應答,另一方發(fā)出應答接收數(shù)據(jù)。大部分的錯誤會導致連接中斷,錯誤由一個錯誤的數(shù)據(jù)包引起。這個包不會被確認,也不會被重新發(fā)送,因此另一方無法接收到。如果錯誤包丟失,則使用超時機制。錯誤主要是由下面三種情況引起的:不能滿足請求,收到的數(shù)據(jù)包內(nèi)容錯誤,而這種錯誤不能由延時或重發(fā)解釋,對需要資源的訪問丟失(如硬盤滿)。TFTP只在一種情況下不中斷連接,這種情況是源端口不正確,在這種情況下,指示錯誤的包會被發(fā)送到源機。這個協(xié)議限制很多,這些都是為了實現(xiàn)起來比較方便而進行的。初始連接時需要發(fā)出WRQ(請求寫入遠程系統(tǒng))或

12、RRQ(請求讀取遠程系統(tǒng)),收到一個確定應答,一個確定可以寫出的包或應該讀取的第一塊數(shù)據(jù)。通常確認包包括要確認的包的包號,每個數(shù)據(jù)包都與一個塊號相對應,塊號從1開始而且是連續(xù)的。因此對于寫入請求的確定是一個比較特殊的情況,因此它的包的包號是0。如果收到的包是一個錯誤的包,則這個請求被拒絕。創(chuàng)建連接時,通信雙方隨機選擇一個TID,因為是隨機選擇的,因此兩次選擇同一個ID的可能性就很小了。每個包包括兩個TID,發(fā)送者ID和接收者ID。這些ID用于在UDP通信時選擇端口,請求主機選擇ID的方法上面已經(jīng)說過了,在第一次請求的時候它會將請求發(fā)到TID 69,也就是服務(wù)器的69端口上。應答時,服務(wù)器使用一

13、個選擇好的TID作為源TID,并用上一個包中的TID作為目的ID進行發(fā)送。這兩個被選擇的ID在隨后的通信中會被一直使用。TFTP協(xié)議的通信流程如下圖所示:4. 實驗4.1實驗環(huán)境本實驗以虛擬機里的兩個32位windows XP系統(tǒng)作為TFTP服務(wù)器和TFTP客戶機。以Cisco TFTP Server搭建TFTP服務(wù)器和TFTP客戶端。該軟件的相關(guān)介紹如下:1、軟件簡介CISCO公司出品的 TFTP 服務(wù)器,常用于CISCO 路由器的IOS升級與備份工作。也可用于個人建立TFTP服務(wù)器,進行文件傳輸。軟件中附帶了一個命令行方式的TFTP 客戶端,文件名為TFTP.EXE,用它可以測試你建立的T

14、FTP服務(wù)器。2、 已知問題當多個客戶端同時訪問TFTP服務(wù)器,并且“選項”中的“顯示傳輸進程”開啟后,會導致TFTP服務(wù)器掛掉。要避免此問題的發(fā)生,請將“選項”中的“顯示文件傳輸進程”選項取消即可。3、 TFTP 客戶端用法TFTP -i -b blocksize -v -t timeout -s host GET | PUT source destination -i 以二進制方式傳輸 -b 傳輸過程中使用的塊大小 (默認為512字節(jié)). 8-65464 字節(jié) -v 傳輸過程中顯示詳細的信息 (冗余模式). -t 超時 (默認為10 秒).可以設(shè)置為1-255秒 -s 不使用 tsize

15、選項 (默認啟用). host 指定本地或遠程主機 GET 下載文件 PUT 傳文件 source 指定要傳輸?shù)奈募?destination 指定傳輸?shù)哪康牡乩簍ftp -i get 1.txt從 這個主機中下載1.txt這個文件到當前目錄tftp -i put test.txt將本地當前目錄中的test.txt 文件上傳到主機中服務(wù)器端根目錄如下圖所示:客戶端根目錄如下圖所示:服務(wù)器系統(tǒng)信息:客戶機系統(tǒng)信息:4.2實驗說明實驗過程在客戶機CMD命令行中進行,因命令行中的文件路徑與文件名均不能包含空

16、格,故Cisco TFTP Server軟件的使用與軟件說明有所出入。實驗過程中要保持服務(wù)器端軟件一直運行。實驗過程中在客戶端抓取數(shù)據(jù)包,并命名為“TFTPclient.pcapng”。4.3實驗過程將客戶機C盤根目錄下的test1.txt上傳到TFTP服務(wù)器,將TFTP服務(wù)器根目錄下的test2.txt下載到客戶機。服務(wù)器端根目錄如下圖所示:客戶端待上傳文件:實驗前服務(wù)器端軟件界面:實驗過程(客戶端):實驗后服務(wù)器端軟件界面:實驗后服務(wù)器端根目錄:實驗后客戶端下載的文件:4.4實驗分析現(xiàn)對實驗過程中在客戶端抓的包進行簡單分析。實驗整個過程共抓取56個數(shù)據(jù)包(實驗過程未運行其它軟件),將TFT

17、P包過濾出來,共有7個,如下圖所示:實驗第一條指令是,也就是將本地C盤根目錄下的test1.txt文件上傳到服務(wù)器。抓取的1號包如下圖:1號包為客戶端發(fā)給服務(wù)端的WRQ包,向TFTP服務(wù)器請求上傳文件test1.txt。2號包如下圖所示:服務(wù)器收到客戶端的上傳請求后向客戶端發(fā)送確認包,同意客戶端上傳文件test1.txt。3號包如下圖所示:客戶端收到服務(wù)端發(fā)來的確認包后,開始上傳文件,因上傳的文件較小,小于512字節(jié),故用一個DATA包就傳完數(shù)據(jù)。上傳的文件test1.txt的內(nèi)容如下圖:經(jīng)與3號包對比,test1.txt的內(nèi)容全被3號包包含。4號包如下圖所示:4號為客戶端上傳文件完成后服務(wù)端發(fā)給客戶端的確認包,告知客戶端上傳的文件已收到,上傳結(jié)束。54號包如下圖所示:此包為指令發(fā)出后抓取的TFTP包,指令表示客戶端向服務(wù)端請求下載文件test2.txt。55號包如下圖所示:服務(wù)端收到客戶端的下載請求后馬上將客戶端請求的數(shù)據(jù)下傳至客戶端,并不對客戶端的身份進行確認。因傳送的文件較小,僅為92字節(jié),未超過512字節(jié),故用一個DATA包

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論