




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)三 使用Wireshark分析FTP協(xié)議一、實(shí)驗(yàn)?zāi)康姆治鯢TP協(xié)議二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟HTTP和FTP都可以用來通過網(wǎng)絡(luò)傳輸對象和文件,但它們的工作方式截然不同。HTTP側(cè)重于傳送立即瀏覽的文件或供暫時(shí)高速緩存于客戶端的文件。HTTP還側(cè)重于表達(dá)那些包含了用于規(guī)定文件格式的首部信息,以便讓瀏覽器能正確解釋內(nèi)容。而FTP卻更側(cè)重于專門進(jìn)行數(shù)據(jù)傳輸,讓用戶自己去決定文件在本機(jī)上的存儲(chǔ)時(shí)間和如何處理數(shù)據(jù)。FTP是一種有狀態(tài)的協(xié)議。FTP客戶端與服務(wù)器建立一個(gè)持續(xù)的會(huì)話,并通過這個(gè)會(huì)
2、話發(fā)送多個(gè)請求。啟動(dòng)會(huì)話要輸入用戶名和密碼,然而許多FTP服務(wù)器允許公開訪問,即客戶端可以使用匿名登錄(anonymous)及隨意設(shè)置的密碼連接。一旦建立連接,對FTP會(huì)話的操作類似命令行下的操作,用戶在提示符下操作,并能瀏覽一些文件和目錄。用戶在瀏覽目錄時(shí),F(xiàn)TP服務(wù)器保持對用戶目錄位置的跟蹤。用戶還可以請求從服務(wù)器獲取文件或向服務(wù)器存儲(chǔ)文件,對這些請求的解釋與當(dāng)前工作的目錄有關(guān)。FTP總是為正在進(jìn)行的控制通道維持一個(gè)TCP連接,然后建立一個(gè)獨(dú)立的用于數(shù)據(jù)傳輸?shù)腡CP連接??刂仆ǖ劳ǔ=⒃趶目蛻舳说紽TP服務(wù)器端口21的連接,它用于描述每一個(gè)使用中的數(shù)據(jù)通道的屬性,包括客戶端或服務(wù)器是否啟
3、動(dòng)傳輸,以及用什么IP地址和端口連接。用RFC-Editor搜索功能找到定義FTP協(xié)議的RFC文檔。搜索結(jié)果表明該RFC文檔在URL /in-notes/rfc 959.txt 找到。如果你在瀏覽器窗口中輸入以ftp:/開頭的URL,那么它將作為FTP客戶端來獲取想要的文件。1、俘獲FTP分組(1) 啟動(dòng)Wireshark嗅探器。(2) 使用FTP工具或?yàn)g覽器進(jìn)入:件下載(3) 在停止分組俘獲。如圖8.1所示:圖8.1 俘獲的FTP分組2、查看FTP控制通道(1)本地客戶端首先為控制通道初始化了一個(gè)到服務(wù)器上FTP端口(端口21)的TCP連接。(2
4、)一旦控制通道建立,服務(wù)器首先通過該通道發(fā)送信息,表示已經(jīng)為服務(wù)請求做好了準(zhǔn)備。(3)在獲取數(shù)據(jù)之前,F(xiàn)TP客戶端必須發(fā)送一個(gè)用戶名到服務(wù)器。這一步由FTP命令USER來完成。FTP服務(wù)器響應(yīng)一個(gè)報(bào)文,并通知客戶端發(fā)送完整的電子郵件地址作為密碼(但許多客戶端代之發(fā)送一個(gè)標(biāo)識(shí)客戶端軟件的字符串作為密碼,一些FTP服務(wù)器檢查密碼是否是電子郵件格式,但大部分不會(huì)這么做。)(4)選擇TCP流中的一個(gè)分組,然后選擇Analyze菜單下的“Follow TCP Stream” ,你就會(huì)看到控制通道的所有內(nèi)容。(注意客戶端命令帶有深暗的背景,以與服務(wù)器響應(yīng)區(qū)別)。如圖2所示:圖8.2 FTP控制通道(5)用
5、戶名和密碼交換完成,F(xiàn)TP客戶端就會(huì)發(fā)送命令“PWD”來指定當(dāng)前工作的目錄。上圖中顯示服務(wù)器以當(dāng)前工作的目錄是根目錄“”作為響應(yīng),客戶端也用發(fā)出命令“SYST”請求關(guān)于FTP服務(wù)器的信息。(6)“PASV”通知服務(wù)器準(zhǔn)備第一個(gè)即將到來的數(shù)據(jù)連接。服務(wù)器響應(yīng)“227EnteringPassingMode”,這表示服務(wù)器自動(dòng)打開一個(gè)套接字來接受來自客戶端的數(shù)據(jù)連接。3、查看FTP數(shù)據(jù)通道數(shù)據(jù)通道用于列出當(dāng)前工作目錄的內(nèi)容。當(dāng)建立了數(shù)據(jù)通道后,客戶端通過控制通道發(fā)送LIST命令,請求列出當(dāng)前工作目錄的內(nèi)容。當(dāng)目錄列表發(fā)送完畢后,數(shù)據(jù)通道也被關(guān)閉。(1)在目錄信息傳送之后,F(xiàn)TP客戶端將傳過來的目錄信
6、息顯示給我們。在本實(shí)驗(yàn)中選擇進(jìn)入XXX目錄,這個(gè)動(dòng)作被解釋為CWD XXX 命令在控制通道中傳送。在進(jìn)入目錄XXX后,目錄的內(nèi)容在第二個(gè)數(shù)據(jù)通道中顯示出來,過程與根目錄的相同。(2)在文件傳送之前,還有一個(gè)額外的命令“TYPE I”。FTP支持多種不同的文件數(shù)據(jù)表示格式,比如用I表示圖像,用A表示ASCII,E表示EBCDIC。(3)test.txt文件在第三個(gè)數(shù)據(jù)通道以類似傳送目錄列表的方式傳送??傊诒緳C(jī)與FTP服務(wù)器之間的這個(gè)跟蹤記錄中,建立了4個(gè)TCP連接-一個(gè)控制通道、兩個(gè)列舉目錄的數(shù)據(jù)通道和一個(gè)文件傳輸?shù)臄?shù)據(jù)通道。如圖所示,我們通過使用Analyze菜單下的工具來觀察每個(gè)連接的一
7、些概要信息。選擇Statisics->Conversation List->TCP(IPv4 IPv6). 圖8.3 TCP會(huì)話列表注意,在出現(xiàn)的TCP對話中,連接不是以它們出現(xiàn)的順序列出來的。4、請同學(xué)們利用校園網(wǎng)FTP服務(wù)器重做此實(shí)驗(yàn)。四、實(shí)驗(yàn)報(bào)告1、傳送該文件花費(fèi)了多長時(shí)間?全部FTP會(huì)話過程呢?只用來傳送文件的連接呢?傳送文件用了用了7.2s,全部Ftp會(huì)話過程用了8.1s,只用來傳送文件用了5.7s2、使用Follow TCP Stream檢查控制通道,服務(wù)器發(fā)送多少數(shù)據(jù)到客戶端?客戶端發(fā)送多少數(shù)據(jù)到服務(wù)器?服務(wù)器發(fā)送11條數(shù)據(jù)到客戶端(藍(lán)字)客戶端發(fā)送9條數(shù)據(jù)到服務(wù)器(
8、黃字)3、使用Follow TCP Stream檢查每一個(gè)數(shù)據(jù)通道,在每個(gè)數(shù)據(jù)通道中,服務(wù)器發(fā)送了數(shù)據(jù)到客戶端?客戶端發(fā)送多少數(shù)據(jù)到服務(wù)器?哪個(gè)請求的數(shù)據(jù)最多,傳送TXT文件還是目錄列表信息?服務(wù)器發(fā)送了332byte數(shù)據(jù)到客戶端客戶端發(fā)送107byte數(shù)據(jù)到服務(wù)器傳送txt文件請求的數(shù)據(jù)為3132byte傳送txt目錄列表信息請求的數(shù)據(jù)為3065byte所以傳送txt文件請求的數(shù)據(jù)最多基于UDP的Socket 編程 本次實(shí)驗(yàn)要求自己動(dòng)手實(shí)現(xiàn)一個(gè)能夠在局域網(wǎng)中進(jìn)行點(diǎn)對點(diǎn)聊天的實(shí)用程序,在本實(shí)驗(yàn)中要求使用UDP實(shí)現(xiàn)。目的:1.熟悉C+ 或 JAVA等高級(jí)語言網(wǎng)絡(luò)編程的基本操作。2.基本了解基于對
9、話框的Windows應(yīng)用程序的編寫過程。3.實(shí)現(xiàn)UDP套接字編程(1人1組)。實(shí)驗(yàn)步驟 數(shù)據(jù)報(bào)套接字使用 UDP 協(xié)議進(jìn)行數(shù)據(jù)的傳輸,是一種無連接的數(shù)據(jù)傳輸模型,采用客戶/服務(wù)器(C/S)結(jié)構(gòu)進(jìn)行設(shè)計(jì)。 數(shù)據(jù)報(bào)套接字的服務(wù)進(jìn)程和客戶進(jìn)程不需要在通信前建立連接,僅需要?jiǎng)?chuàng)建各自的套接字,簡述如下:接收端:(1)、創(chuàng)建數(shù)據(jù)報(bào)套接字;(2)、綁定本機(jī)地址和端口;(3)、等候接收數(shù)據(jù);(4)、使用 完成后關(guān)閉套接字。發(fā)送端:(1)、創(chuàng)建數(shù)據(jù)報(bào)套接字;(2)、向指定地址和端口發(fā)送數(shù)據(jù);(3)、使用完成后關(guān)閉套接字??蛻舳舜a為:#include <stdio.h>
10、;#include <winsock.h>#include <iostream>#pragma comment(lib,"wsock32.lib")using namespace std;int main()WSADATA wsaData; /存放socket的初始化信息WSAStartup(MAKEWORD(2, 2), &wsaData); /調(diào)用Socket的函數(shù)之前必須調(diào)用WSAStartup完成對Winsock服務(wù)的初始化/ 創(chuàng)建套節(jié)字SOCKET s = :socket(AF_INET, SOCK_DGRAM, IPPROTO_U
11、DP); if (s = INVALID_SOCKET) /無效套接字printf("Failed socket() %d n", :WSAGetLastError(); /獲得錯(cuò)誤代碼return 0;/ 也可以在這里調(diào)用bind函數(shù)綁定一個(gè)本地地址,否則系統(tǒng)將會(huì)自動(dòng)安排 / 填寫遠(yuǎn)程地址信息 sockaddr_in addr; sockaddr_in addr;addr.sin_family = AF_INET;addr.sin_port = htons(4567);int nLen = sizeof(addr);/ 注意,這里要填寫服務(wù)器程序所在機(jī)器的IP地址,如果你
12、的計(jì)算機(jī)沒有聯(lián)網(wǎng),直接使用即可 addr.sin_addr.S_un.S_addr = inet_addr("");/ 發(fā)送數(shù)據(jù) char receivebuff1024;char sendbuffer1024;printf("-我是客戶端-:n");while (TRUE)int nRecv = :recvfrom(s, receivebuff, 1024, 0, (sockaddr*)&addr, &nLen);if (nRecv > 0)/接收數(shù)據(jù) receivebuffnRecv =
13、39;0'printf("從服務(wù)器接收到信息: %sn", receivebuff);if (strcmp(receivebuff, "bye") = 0):closesocket(s);return 0;/發(fā)送數(shù)據(jù) / scanf("%s", sendbuffer); gets_s(sendbuffer);:sendto(s, sendbuffer, strlen(sendbuffer), 0, (sockaddr*)&addr, sizeof(addr);system("color 0F");p
14、rintf("客戶端發(fā)送信息: %sn", sendbuffer);if (strcmp(sendbuffer, "bye") = 0):closesocket(s);return 0;return 0;服務(wù)器端代碼為:#include <stdio.h>#include <winsock.h>#include <string.h>#include <iostream>#pragma comment(lib,"wsock32.lib")using namespace std;int ma
15、in()WSADATA wsaData;WSAStartup(MAKEWORD(2, 2), &wsaData);/ 創(chuàng)建套節(jié)字SOCKET s = :socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);if (s = INVALID_SOCKET) printf("Failed socket() n");return 0;/ 填充sockaddr_in結(jié)構(gòu) sockaddr_in sin;sin.sin_family = AF_INET;sin.sin_port = htons(4567);sin.sin_addr.S_un.S_ad
16、dr = INADDR_ANY;/ 綁定這個(gè)套節(jié)字到一個(gè)本地地址 if (:bind(s, (LPSOCKADDR)&sin, sizeof(sin) = SOCKET_ERROR)printf("Failed bind() n");return 0;/ 接收數(shù)據(jù) char receivebuff1024;char sendbuff1024;sockaddr_in addr;int nLen = sizeof(addr);printf("-我是服務(wù)器-:n");while (TRUE)int nRecv = :recvfrom(s, receivebuff, 1024, 0, (sockaddr*)&addr, &nLen);if (nRecv > 0) /接收數(shù)據(jù) receivebuffnRecv = '0'printf("從客戶端接收到信息: %sn", receivebuff);if (strcmp(receivebuff, "bye") = 0):closesocket(s);return 0;/發(fā)送數(shù)據(jù) / scanf("%s&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招教教基試題及答案
- 小學(xué)科目二答案及試題
- 拼多多企業(yè)薪酬管理制度
- 煙氣脫硫設(shè)施管理制度
- 新辦企業(yè)財(cái)務(wù)管理制度
- 廚務(wù)管理部管理制度
- 2025系統(tǒng)分析師考試優(yōu)勢策略探討試題及答案
- 護(hù)理教育及管理制度
- 校級(jí)組織物資管理制度
- 系統(tǒng)分析師考試考生心聲試題及答案
- 勞動(dòng)合同法-終結(jié)性考核-國開(SC)-參考資料
- 幼兒園繪本故事《三只小豬蓋房子》教學(xué)課件全文
- 教學(xué)課件英語人教版(2024版)七年級(jí)初一上冊Unit?1?You?and?Me?Section?A 1a1d
- 2024年高考真題-政治(江蘇卷) 含答案
- 病毒TCID50測定方案
- 水閘安全鑒定報(bào)告書
- 四年級(jí)下冊數(shù)學(xué)方程題100道及答案
- 湖南省工程建設(shè)地方標(biāo)準(zhǔn)分布式光伏工程驗(yàn)收標(biāo)準(zhǔn)
- 2024-2030年中國苯乙烯-馬來酸酐共聚物行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報(bào)告
- 2024年新疆發(fā)聲亮劍發(fā)言稿3則
- 測試治具加工項(xiàng)目策劃方案
評論
0/150
提交評論