實驗實習指導書 1

2022-03-22 17:41:35 字數 2498 閱讀 6150

【編號】001

【課題】《ipv4頭部格式與socket程式設計初步》

① ipv4協議頭部格式的理解

② tracert 原理分析(可選)

③ 基於「記錄路由」選項的路由探測(可選)

④ 基本的、基於阻塞方式的socket程式設計

【目標】了解ipv4協議資料報文頭部字段格式;可以使用一種抓包工具,如:ethereal;

了解基本的阻塞方式的socket程式設計步驟。

【重點】阻塞方式的socket程式設計步驟

【學習難點】

【課時】2課時

【實驗環境】網路實驗室,windowsxp或2000、2003;

抓包工具:ethereal version 0.99.0或sniffer portabble v4.7.5 sp5;

程式設計工具:vc++6.0 + msdn

【教學方法】學生根據本指導書自主練習 + 教師指導。

【實驗內容】

一、 理解ipv4協議頭部結構

實驗步驟:

① 安裝抓包工具,sniffer或ethereal(ethereal比較簡明,建議安裝ethereal)。啟動並設定為抓包狀態;

② 進入命令列模式,ping 某個**,如:

③ 在抓包工具顯示的結果中,選擇乙個ip包,對照教材的ipv4格式,逐一分析ip頭部各個字段、如版本號、頭部長度、等等。

二、 利用抓包工具,分析tracert 原理(本題目可選)

【注】tracert 工作原理如下:

tracert(跟蹤路由)實用程式用於確定ip資料報文訪問目標所採取的路徑。tracert命令用ip生存時間(ttl)欄位和 icmp 錯誤訊息來確定從乙個主機到網路上其他主機的路由。

通過向目標傳送不同ip生存時間(ttl)值的「internet控制訊息協議(icmp)」回應資料報,tracert診斷程式確定到目標所採取的路由。(路徑上的每個路由器在**資料報之前將資料報上的ttl減1。資料報上的ttl減為0時,路由器應該將「icmp 已超時」的訊息發回源系統。

)tracert的工作過程是:源主機向目的主機首先傳送ttl為1的icmp請求資料報,然後在隨後的每次傳送過程將ttl遞增1,直到目標響應或ttl達到最大值,通過檢查經由(中間)路由器發回的「icmp 已超時」訊息來確定路由。(假如某些路由器不經詢問直接丟棄ttl過期的資料報,則導致在tracert 實用程式中看不到該路由。

)實驗步驟:

① 已安裝抓包工具,如sniffer或ethereal。啟動並設定為抓包狀態;

② 進入命令列模式,tracert 某個**,如:tracert 見圖1-1所示)

③ 在抓包工具顯示的結果中,注意各個icmp回應報文,對照上面第②步執行的顯示結果,分析並理解tracert 的工作原理。

圖1-1

圖1-2

三、基於「記錄路由」選項的路由探測

【注】請回顧record route options(記錄路由選項)。

使用「記錄路由」選項是比較容易的探測路由方式。打個比方,我想知道一封從上海發出,目的地是北京的信,中間經過了多少個郵局**。這個過程很簡單,只要中間郵局在**的信件扣上他們自己的郵戳,這封信到達目的地北京後,北京再把這封信回郵給我,當我收到回信後,只要看信上的郵戳,便知道中間經過哪些郵局。

類似ping -r 9 這樣的命令便可實現這種記錄中間路由的功能,命令返回的顯示結果是中間路由器的ip位址。

ping命令發出的是型別為8的icmp資料報,當使用ping -r時,這個型別為8的icmp資料報被裝在乙個ip資料報裡,ip資料報的options(選項)字段預留出給中間路由器扣戳的地方,只能容納9臺中轉路由器的ip位址。

當這個資料報被傳送端送出後,每經過乙個中轉路由器,中轉路由器的ip軟體便會在此ip資料報的選項欄位中加入一條這個中轉路由器的ip位址。

當這個資料報到達目的地時(如,目的裝置便會返回一條型別為0的icmp資料報,該報文options欄位的資料部分即是剛收到的icmp資料報中的options欄位資料內容。

當這個型別為0的icmp資料報回送到源傳送端時,您便會在螢幕上看見一些中間路由器的ip位址了。例如,圖1-3為訪問經過的路由器。

圖1-3

實驗步驟:

① 已安裝抓包工具,如sniffer或ethereal。啟動並設定為抓包狀態;

② 進入命令列模式,使用帶有-r 選項的ping命令訪問某個**,如:

ping –r 9 見圖1-3所示)

③ 在抓包工具顯示的結果中,注意icmp兩種報文,注意選項欄位的值並對照上面

第②步執行的顯示結果,觀察報文的選項內容。(下圖1-3是icmp的請求報文,

注意其選項欄位的值)

圖1-3

四、基本的、基於阻塞方式的socket程式設計

實驗步驟:

① 使用vc++6.0(或更高版本的visual studio)建立基於控制台的工程;

② 分別將下面表1-1(客戶端)、表1-2(伺服器端)的**錄入。(最好是在兩台pc機上編譯執行);

③ 根據**的接收、傳送邏輯,觀察程式執行結果。

表1-1客戶端**

表1-2伺服器端**

土工實驗指導書 1

土力學實驗指導書 浙江科技學院建築工程學院 2004年5月 學時 2學時 一 目的要求 測定土在天然狀態下單位體積的質量。二 試驗方法適用範圍 一般粘性土,宜採用環刀法 易破碎,難以切削的土,可採用蠟封法 對於砂土與砂礫土,可用現場的灌砂法或灌水法。三 儀器裝置 符合規定要求的環刀,精度為0.01g...

實習實驗指導書答案

計算機應用技術基礎 習題參 第1章緒論 1.思考題 略 2.選擇題 1 d 2 d 3 b 4 a 5 b 3.判斷題 1 2 x 3 x 4 5 4.填空題 1 程式 2 文件 3 斷電 4 1048576 5 單使用者 第2章 windows 作業系統的使用 1.思考題 略 2.選擇題 1 c ...

第1章實驗指導書

通過本章的學習,讀者可以對計算機的組成有個初步的認識,並了解計算機的工作原理。本章是主教材的第1章的配套實驗,通過3個實驗介紹了計算機系統的基本組成 鍵盤的使用 正確的指法等。實驗1 1 計算機系統的基本組成 1.實驗目的 1 觀察主機箱的介面,熟悉各界面的作用,並且能夠正確地使用各界面。2 掌握主...