網路資料捕獲及分析實驗報告

2021-09-10 21:46:53 字數 4987 閱讀 5411

廣西民族大學

學院:資訊科學與工程學院

班級 10網路姓名郭璇學號 110263100129

實驗日期 2023年10月19日指導老師周衛

實驗名稱網路資料捕獲及分析實驗報告

一、實驗目的

1、通過捕獲網路通訊資料,使學生能夠真實地觀察到傳輸層(tcp)和應用層(http)協議的資料,對計算機網路資料傳輸有感性的認識。

2、通過對捕獲的資料的分析,鞏固學生對這些協議制定的規則以及工作的機制理解,從而對計算機網路資料傳輸有初步的認識,以便為之後通訊協議設計以及通訊軟體設計打下良好的基礎。

二、協議理論

tcp:

1、transmission control protocol傳輸控制協議tcp是一種面向連線(連線導向)的、可靠的、基於位元組流的運輸層(transport layer)通訊協議,由ietf的rfc 793說明(specified)。在簡化的計算機網路osi模型中,它完成第四層傳輸層所指定的功能,udp是同一層內另乙個重要的傳輸協議。

2、tcp所提供服務的主要特點:(1)面向連線的傳輸;(2)端到端的通訊;(3)高可靠性,確保傳輸資料的正確性,不出現丟失或亂序;(4)全雙工方式傳輸;(5)採用位元組流方式,即以位元組為單位傳輸位元組序列;(6)緊急資料傳送功能。

3、tcp連線的建立與終止

tcp連線的建立:tcp協議通過三個報文段完成連線的建立,這個過程稱為三次握手(three-way handshake),過程如下圖所示。

tcp連線的終止:建立乙個連線需要三次握手,而終止乙個連線要經過四次握手,這是由tcp的半關閉(half-close)造成的。具體過程如下圖所示。

4、服務流程

tcp協議提供的是可靠的、面向連線的傳輸控制協議,即在傳輸資料前要先建立邏輯連線,然後再傳輸資料,最後釋放連線3個過程。tcp提供端到端、全雙工通訊;採用位元組流方式,如果位元組流太長,將其分段;提供緊急資料傳送功能。

儘管tcp和udp都使用相同的網路層(ip),tcp卻向應用層提供與udp完全不同的服務。

tcp提供一種面向連線的、可靠的位元組流服務。

面向連線意味著兩個使用tcp的應用(通常是乙個客戶和乙個伺服器)在彼此交換資料之前必須先建立乙個tcp連線。這一過程與打**很相似,先撥號振鈴,等待對方摘機說「喂」,然後才說明是誰。

在乙個tcp連線中,僅有兩方進行彼此通訊。廣播和多播不能用於tcp。

tcp通過下列方式來提供可靠性:

(1)應用資料被分割成tcp認為最適合傳送的資料塊。這和udp完全不同,應用程式產生的資料報長度將保持不變。由tcp傳遞給ip的資訊單位稱為報文段或段(segment)tcp如何確定報文段的長度。

(2)當tcp發出乙個段後,它啟動乙個定時器,等待目的端確認收到這個報文段。如果不能及時收到乙個確認,將重發這個報文段。當tcp收到發自tcp連線另一端的資料,它將傳送乙個確認。

這個確認不是立即傳送,通常將推遲幾分之一秒。

(3)tcp將保持它首部和資料的檢驗和。這是乙個端到端的檢驗和,目的是檢測資料在傳輸過程中的任何變化。如果收到段的檢驗和有差錯,tcp將丟棄這個報文段和不確認收到此報文段(希望發端超時並重發)。

(4)既然tcp報文段作為ip資料報來傳輸,而ip資料報的到達可能會失序,因此tcp報文段的到達也可能會失序。如果必要,tcp將對收到的資料進行重新排序,將收到的資料以正確的順序交給應用層。

(5)既然ip資料報會發生重複,tcp的接收端必須丟棄重複的資料。

(6)tcp還能提供流量控制。tcp連線的每一方都有固定大小的緩衝空間。tcp的接收端只允許另一端傳送接收端緩衝區所能接納的資料。這將防止較快主機致使較慢主機的緩衝區溢位。

兩個應用程式通過tcp連線交換8bit位元組構成的位元組流。tcp不在位元組流中插入記錄識別符號。我們將這稱為位元組流服務(bytestreamservice)。

如果一方的應用程式先傳10位元組,又傳20位元組,再傳50位元組,連線的另一方將無法了解發方每次傳送了多少位元組。收方可以分4次接收這80個位元組,每次接收20位元組。一端將位元組流放到tcp連線上,同樣的位元組流將出現在tcp連線的另一端。

另外,tcp對位元組流的內容不作任何解釋。tcp不知道傳輸的資料字節流是二進位制資料,還是ascⅱ字元、ebcdic字元或者其他型別資料。對位元組流的解釋由tcp連線雙方的應用層解釋。

這種對位元組流的處理方式與unix作業系統對檔案的處理方式很相似。unix的核心對乙個應用讀或寫的內容不作任何解釋,而是交給應用程式處理。對unix的核心來說,它無法區分乙個二進位制檔案與乙個文字檔案。

tcp是網際網路中的傳輸層協議,使用三次握手協議建立連線。當主動方發出syn連線請求後,等待對方回答syn,ack。這種建立連線的方法可以防止產生錯誤的連線,tcp使用的流量控制協議是可變大小的滑動視窗協議。

第一次握手:建立連線時,客戶端傳送syn包(seq=x)到伺服器,並進入syn_send狀態,等待伺服器確認。第二次握手:

伺服器收到syn包,必須確認客戶的syn(ack=x+1),同時自己也送乙個syn包(seq=y),即syn+ack包,此時伺服器進入syn_recv狀態。第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=y+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。

1、超文字傳送協議 (http-hypertext transfer protocol) 是分布式,協作式,超**系統應用之間的通訊協議。是全球資訊網(world wide web)交換資訊的基礎。它允許將超文字標記語言(html) 文件從 web 伺服器傳送到 web瀏覽器。

html 是一種用於建立文件的標記語言,這些文件包含到相關資訊的鏈結。您可以單擊乙個鏈結來訪問其它文件、影象或多**物件,並獲得關於鏈結項的附加資訊。http工作在tcp/ip協議體系中的tcp協議上。

2、http協議的主要特點:(1)支援客戶/伺服器模式;(2)簡單快速:客戶向伺服器請求服務時,只需傳送請求方法和路徑。

請求方法常用的有get、head、post。每種方法規定了客戶與伺服器聯絡的型別不同。由於http協議簡單,使得http伺服器的程式規模小,因而通訊速度很快;(3)靈活:

http允許傳輸任意型別的資料物件。正在傳輸的型別由content-type加以標記;(4)無連線:無連線的含義是限制每次連線只處理乙個請求。

伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間;(5)無狀態:http協議是無狀態協議。

無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。

3、請求資訊

發出的請求資訊包括以下幾個:

(1)請求行,例如get /images/logo.gif http/1.1,表示從/images目錄下請求logo.gif這個檔案。

(2)(請求)頭,例如accept-language: en

(3)空行

(4)可選的訊息體請求行和標題必須以作為結尾(也就是,回車然後換行)。空行內必須只有而無其他空格。在http/1.1協議中,所有的請求頭,除post外,都是可選的。

3、請求方法

http/1.1協議中共定義了八種方法(有時也叫「動作」)來表明request-uri指定的資源的不同操作方式:

options返回伺服器針對特定資源所支援的http請求方法。也可以利用向web伺服器傳送'*'的請求來測試伺服器的功能性。

head向伺服器索要與get請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應訊息頭中的元資訊。

get向特定的資源發出請求。注意:get方法不應當被用於產生「***」的操作中,例如在web app.中。其中乙個原因是get可能會被網路蜘蛛等隨意訪問。

post向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。post請求可能會導致新的資源的建立和/或已有資源的修改。

put向指定資源位置上傳其最新內容。

delete請求伺服器刪除request-uri所標識的資源。

trace回顯伺服器收到的請求,主要用於測試或診斷。

connecthttp/1.1協議中預留給能夠將連線改為管道方式的**伺服器。

方法名稱是區分大小寫的。當某個請求所針對的資源不支援對應的請求方法的時候,伺服器應當返回狀態碼405(method not allowed);當伺服器不認識或者不支援對應的請求方法的時候,應當返回狀態碼501(not implemented)。

http伺服器至少應該實現get和head方法,其他方法都是可選的。當然,所有的方法支援的實現都應當符合下述的方法各自的語義定義。此外,除了上述方法,特定的http伺服器還能夠擴充套件自定義的方法。

三、實驗步驟

1、捕獲資料報前的準備工作:

在預設情況下,sniffer將捕獲其接入碰撞域中流經的所有資料報,但在某些場景下,有些資料報可能不是我們所需要的,為了快速定位網路問題所在,有必要對所要捕獲的資料報作過濾。sniffer提供了捕獲資料報前的過濾規則的定義,過濾規則包括2、3層位址的定義和幾百種協議的定義。定義過濾規則的做法一般如下:

(1)在主介面選擇capture→define filter選項。

(2)define filter→address,這是最常用的定義。其中包括mac位址、ip位址和ipx位址的定義。

(3)define filter→advanced,定義希望捕獲的相關協議的資料報。比如,想捕獲dns、http的資料報,那麼說首先開啟tcp選項卡,再進一步選協議;還要明確dns的資料報有些是屬於udp協議,故需在udp選項卡做類似tcp選項卡的工作,否則捕獲的資料報將不全。 如果不選任何協議,則捕獲所有協議的資料報。

(4)advanced→profiles→new,新建乙個capture。

(4)最後,需將定義的過濾規則應用於捕獲中,點選capture→select filter中選取定義的捕獲規則。

2、網路操作和捕獲資料報:

(2)選擇capture→start,啟動捕獲引擎。 sniffer可以實時監控主機、協議、應用程式、不同包型別等的分布情況。

(3)訪問**。

(4)停止sniffer捕獲包,點選capture→stop或者capture→stop and display,前者停止捕獲包,後者停止捕獲包並把捕獲的資料報進行解碼和顯示。

實驗報告 用Ethereal捕獲並分析TCP資料報

用ethereal捕獲並分析資料報 學院 計算機工程學院 專業 電腦科學與技術 姓名 張徽 學號 2008404010135 tcp報文格式分析 tcp提供一種面向連線的 全雙工的 可靠的位元組流服務。在乙個tcp連線中,僅有兩方進行彼此通訊。廣播和多播不能用於tcp。tcp的接收端必須丟棄重複的資...

網路實驗報告

四川大學網路教育學院 實踐課程報告 實踐課程 校外學習中心 專業層次 年級學生姓名 學號年月日實驗1 雙機互聯通訊 實驗內容及要求 認識網路實驗室的環境和拓撲結果,並製作一根線纜將兩台裝置連線起來,達到通訊的目的,要求,成功地連線兩台裝置 步驟1 認識各種線纜 認識直通線 交叉線 直通雙絞線的線序遵...

網路實驗報告

淮海工學院電腦科學系 實驗報告書 課程名 網路安全技術 題目 網路安全實驗 1 5 班級學號 姓名課程目標與基本要求 通過實驗使學生認識網路安全技術的基本概念 原理和技術,掌握基本的網路安全攻防技術,常用資料加密方法及入侵檢測的原理和方法。加深對課堂教學的理解。培養學生的實驗技能 動手能力和分析問題...