1. 程式人生 > >使用網絡監視器(IRSI)捕捉和分析協議數據包

使用網絡監視器(IRSI)捕捉和分析協議數據包

命令 net 開頭 下載 類型 封裝 源地址 記錄 .net

轉載請註明原地址。


實驗名稱: 理解子網掩碼、網關和ARP協議的作用

一、實驗目的和要求

(1) 熟悉IRIS的使用

(2) 驗證各種協議數據包格式

(3) 學會捕捉並分析各種數據包。

二、主要儀器設備

環境: Windows XP

軟件:IRIS軟件

三、實驗內容及過程

主機1:192.168.2.110(監聽方)

主機2:192.168.2.109(被監聽方)

(1) 安裝IRIS軟件

技術分享

(2) 捕捉數據包,驗證數據幀、IP數據報、TCP數據段的報文格式。

選擇菜單 查看à地址簿中加入主機1和主機2 IP地址。

技術分享

設置過濾器

技術分享

在開始捕獲數據包之前,先用arp –d清除一下arp緩存表。

技術分享

點擊開始捕獲,開啟抓包功能。

技術分享

選擇菜單 過濾器à編輯過濾器。設置過濾設置。更改完畢後點擊確定。

技術分享

選擇菜單 過濾器àftp.flt

技術分享

從主機1登陸到主機2的ftp(主機2中安裝了ftpserver)

技術分享

停止抓包,抓包結果圖。

技術分享

以上就是捕捉數據包的過程。接下來是驗證數據幀、IP數據報和TCP數據段的報文格式。

我們選擇序號4的數據包作為驗證,分別查看它在MAC層、IP層和TCP層的數據頭部信息。



驗證數據幀格式

技術分享

當中00 24 1D 09 28 6B是監聽方主機的MAC地址

技術分享

00 24 1D AE 10 45是被監聽方主機的MAC地址

技術分享

08 00則是類型字段,表示它上層使用的是IP數據報。

驗證IP數據報格式

技術分享

技術分享

由以上兩圖我們能夠知道:

版本號4表示IPV4,占4位技術分享

首部長度為5是因為這個單位是32位,所以這個IP數據報首部長度為20個字節技術分享

區分服務00占一個字節技術分享,4表示版本號,5表示首部長度

總長度00 43占兩個字節技術分享,標識6C 49占兩個字節技術分享

標誌+片偏移40 00占兩個字節技術分享

生存時間128跳技術分享

向上提供的協議是TCP技術分享

首部檢驗和是840技術分享

源地址是192.168.2.109,目的地址是192.168.2.110技術分享


驗證TCP數據段的報文格式

技術分享
技術分享

源port00 15 轉化為十進制剛好是21,是ftp默認的port技術分享

目的port是0E 93占兩個字節技術分享

序號21 7B 54 6C各占4個字節技術分享

確認號5A 1D 33 21占4個字節技術分享

首部長度為5技術分享,片偏移為18,技術分享

當中ACK、PSH各占一位技術分享

首部檢驗和是7CC1,占兩個字節技術分享


(3) 捕捉並分析ARP報文。

在主機1執行arp –d命令。然後在菜單過濾器à編輯過濾器中設置捕獲ARP協議。而且設置捕獲A機和B機之間的IP地址數據包。接著點擊“開始/停止捕捉”,開始抓包。

技術分享

先執行arp –d命令。再執行ping 192.168.2.109命令

捕捉到的ARP報文

技術分享

分析

首先,我們在主機1上執行了arp -d的命令後,主機1上的arp緩存表被清空。當我們用ping 192.168.2.109命令時,因為主機1和主機2在同一個網段,且主機1沒有主機2的MAC地址,所以。它會以廣播形式發送ARP請求報文,在ARP請求報文中包括了源IP地址和目的IP地址,在同一網段的主機2收到報文並發現目標IP地址與自己的地址一樣,則它向主機1發回ARP響應報文。並把自己物理地址封裝在響應報文上。從而使主機1獲得主機2的MAC地址。



(4) 捕捉並分析ping過程中的ICMP報文。

在主機2用arp –d命令清除arp緩存表

點擊“開始/停止捕捉”。開始抓包

編輯過濾器,設置例如以下

技術分享

在主機1上ping主機2的ip地址

技術分享

停止抓包


下圖就是捕捉ping過程中的ICMP報文

技術分享

分析

從上圖能夠看出。我們用命令ping 192.168.2.109,回車後ping命令便會向目的主機2發一個ICMP請求ECHO報文。由於主機2正常工作並且響應這個ICMP回送請求報文,所以它就發回ICMP回送回答報文(序號1、2能夠看出)。由於主機1一連發出4個ICMP回送請求報文,作為正常工作且可達的主機2也對應做出4個應答,發回4個ICMP回送回答報文。所以在抓包界面中有8個ECHO報文。在抓包界面的第一行(序號1)中的數據報包括3個信息,各自是以太網、IP和ICMP。



技術分享

以太網頭信息,它的內容是00 24 1D AE 10 45 00 24 1D 09 28 6B 08 00

前6個字節00 24 1D AE 10 45是目的主機2的MAC地址

技術分享

後6個字節00 24 1D 09 28 6B是源主機1的MAC地址

技術分享

最後兩個字節08 00代表包的類型是DOD IP

技術分享

IP頭信息,它的內容是

45 00 00 3C 1D BE 00 00 80 01 96 D7 C0 A8 02 6E C0 A8 02 6D

它表示IP的版本號是4,首部長度是5。總長度60字節。標識7614

生存時間128跳。向上提供的協議是ICMP,首部檢驗和是9607

源地址是192.168.2.110,目的地址是192.168.2.109


ICMP頭信息

技術分享

當中開頭的08表示類型,00表示代碼。15 5C表示檢驗和。34 00表示序號,剩下的為數據。


(5) 捕捉並分析tracert過程中的ICMP報文。

更改過濾器設置

技術分享

開始捕捉數據包,下面就是捕捉到的結果。

技術分享

分析:

由上圖可知。tracert命令依靠ICMP協議來實現的,數據報從路由器發出之後。每經過一個路由器,便會在該數據報的選項字段中增加該路由器的地址信息。當這條信息到達目的主機的時候,便會生成一條新的ICMP數據報,這個數據報記錄了剛才所經過的路由信息,返回給源主機,這樣源主機就知道了剛才所經過的路由信息。

由上圖表明。因為主機1和主機2在同一個網段,所以不用經過路由器,因此當我們用tracert命令去追蹤時,僅僅顯示主機2的IP地址。


(6) 捕捉並分析TCP三次握手建立連接的過程。

測試樣例:將主機2的一個文件通過ftp下載到主機1中

設置過濾器,而且選擇過濾器àftp.flt

技術分享

主機1先執行arp –d命令。然後點擊“開始/停止捕捉”

將ftpserver上的任意一個目錄下載到主機1中

捕捉結果

技術分享

分析

當中序號1、2、3為建立連接時的3次握手

第一次握手

ACK 00 00 00 00

技術分享

SEQ 4D 7E C1 A8

技術分享




第二次握手

ACK 4D 7E C1 A9

技術分享

SEQ F1 59 F5 88

技術分享




第三次握手

ACK F1 59 F5 89

技術分享

SEQ 4D 7E C1 A9

技術分享

首先。主機1向主機2發送一個連接請求報文,這時候A初始化一個初始序號SEQ為4D 7E C1 A8,確認信號為0。當主機2收到主機1的請求報文後,由於2允許連接,就向1發送一個確認報文,此時2也初始化一個初始序號SEQ為F1 59 F5 88。而且確認ACK為1發送過來數據報的SEQ+1即4D 7E C1 A9。當1收到2數據包的時候再次向2發送確認信號。此時1又會產生一個初始序號SEQ4D 7E C1 A9,確認ACK為B發送過來的數據包的SEQ+1即F1 59 F5 89,這時,TCP協議就建立起連接。


(7)選作

TCP採用了擁塞控制機制。其實,TCP開始發送數據時,使用了慢啟動。利用網絡監視器觀察TCP的傳輸和確認。在每一確認到達之後,慢啟動過程中發生了什麽?(選做)


TCP知道往返時間之前,TCP必須準備重發初始段(用於打開一個連接的一個段)。

TCP應等多久才重發這一段?TCP應重發多少次才幹宣布它不能打開一個連接?為找到結果嘗試向一個不存在的地址打開一個連接,並使用網絡監視器觀察TCP的通信量。(選做)


嘗試使用Winpcap自行設計實現一個簡單的網絡數據包監聽與捕捉程序。同一時候將捕獲的數據包進行分析並將結果顯示在屏幕上。參考Winpcapde 的有關資料http://winpcap.polito.it(課後選做)。



(8)附件

下載地址http://down.51cto.com/data/991237

使用網絡監視器(IRSI)捕捉和分析協議數據包