用協議分析工具學習TCP IP 一

2021-05-23 02:17:28 字數 2948 閱讀 5035

一、前言

目前,網路的速度發展非常快,學習網路的人也越來越多,稍有網路常識的人都知道 tcp/ip協議是網路的基礎,是internet的語言,可以說沒有tcp/ip協議就沒有網際網路的今天。目前號稱搞網的人非常多,許多人就是從一把夾 線鉗,乙個測線器聯網開始接觸網路的,如果只是聯網玩玩,知道幾個ping之類的命令就行了,如果想在網路上有更多的發展不管是黑道還是紅道,必須要把 tcp/ip協議搞的非常明白。

學習過tcp/ip協議的人多有一種感覺,這東西太抽象了,沒有什麼資料例項,看完不久就忘了。本文將介紹一種直觀的學習方法,利用協議分析工具學習tcp/ip,在學習的過程中能直觀的看到資料的具體傳輸過程。

為了初學者更容易理解,本文將搭建乙個最簡單的網路環境,不包含子網。

二、試驗環境

1、網路環境

如圖1所示

為了表述方便,下文中208號機即指位址為192.168.113.208的計算機,1號機指位址為192.168.113.1的計算機。

2、作業系統

兩台機器都為windows 2000 ,1號機機器作為伺服器,安裝ftp服務

3、協議分析工具

windows環境下常用的工具有:sniffer pro、natxray、iris以及windows 2000自帶的網路監視器等。本文選用iris作為協議分析工具。

在客戶機208號機安裝iris軟體。

三、測試過程

2、iris的設定。

由於iris具有網路監聽的功能,如果網路環境中還有其它的機器將抓很多別的資料報,這樣為學習帶來諸多不便,為了清楚地看清楚上述例子的傳輸過程首先將iris設定為只抓208號機和1號機之間的資料報。設定過程如下:

1)用熱鍵ctrl+b彈出如圖所示的位址表,在表中填寫機器的ip位址,為了對抓的包看得更清楚不要添主機的名字(name),設定好後關閉此視窗。

如圖2所示

2)用熱鍵ctrl+e彈出如圖所示過濾設定,選擇左欄「ip address」,右欄按下圖將address book中的位址拽到下面,設定好後確定,這樣就這抓這兩台計算機之間的包。

如圖3所示

3、抓包

如圖4所示

說明:為了能抓到arp協議的包,在windows 2000 中執行arp –d 清除arp快取。

四、過程分析

1、tcp/ip的基本原理

本文的重點雖然是根據例項來解析tcp/ip,但要講明白下面的過程必須簡要講一下tcp/ip的基本原理。

a.網路是分層的,每一層分別負責不同的通訊功能。

tcp/ip通常被認為是乙個四層協議系統,tcp/ip協議族是一組不同的協議組合在一起構成的協議族。儘管通常稱該協議族為tcp/ip,但tcp和ip只是其中的兩種協議而已,如表1所示。每一層負責不同的功能:

如表1所示

分層的概念說起來非常簡單,但在實際的應用中非常的重要,在進行網路設定和排除故障時對網路層次理解得很透,將對工作有很大的幫助。例如:設定路由是網路層ip協議的事,要查詢mac位址是鏈路層arp的事,常用的ping命令由icmp協議來做的。

圖5顯示了各層協議的關係,理解它們之間的關係對下面的協議分析非常重要。

如圖5所示

b.資料傳送時是自上而下,層層加碼;資料接收時是自下而上,層層解碼。

當應用程式用tcp傳送資料時,資料被送入協議棧中,然後逐個通過每一層直到被當作一串位元流送入網路。其中每一層對收到的資料都要增加一些首部資訊(有時還要增加尾部資訊),該過程如圖6所示。tcp傳給ip的資料單元稱作tcp報文段或簡稱為tcp段。i p傳給網路介面層的資料單元稱作ip資料報。 通過乙太網傳輸的位元流稱作幀(frame)。

資料傳送時是按照圖6自上而下,層層加碼;資料接收時是自下而上,層層解碼。

如圖6所示

c. 邏輯上通訊是在同級完成的

垂直方向的結構層次是當今普遍認可的資料處理的功能流程。每一層都有與其相鄰層的介面。為了通訊,兩個系統必須在各層之間傳遞資料、指令、位址等資訊,通訊的邏輯流程與真正的資料流的不同。雖然通訊流程垂直通過各層次,但每一層都在邏輯 上能夠直接與遠端計算機系統的相應層直接通訊。

從圖7可以看出,通訊實際上是按垂直方向進行的,但在邏輯上通訊是在同級進行的。

如圖7所示

2、過程描述

為了更好的分析協議,我們先描述一下上述例子資料的傳輸步驟。如圖8所示:

1)ftp客戶端請求tcp用伺服器的ip位址建立連線。

2)tcp傳送乙個連線請求分段到遠端的主機,即用上述ip位址傳送乙份ip資料報。

3) 如果目的主機在本地網路上,那麼ip資料報可以直接送到目的主機上。如果目的主機在乙個遠端網路上,那麼就通過ip選路函式來確定位於本地網路上的下一站路由器位址,並讓它**ip資料報。在這兩種情況下,ip資料報都是被送到位於本地網路上的一台主機或路由器。

4) 本例是乙個乙太網,那麼傳送端主機必須把32位的ip位址變換成48位的乙太網位址,該位址也稱為mac位址,它是出廠時寫到網絡卡上的世界唯一的硬體位址。把ip位址翻譯到對應的mac位址是由arp協議完成的。

5) 如圖的虛線所示,arp傳送乙份稱作arp請求的乙太網資料幀給乙太網上的每個主機,這個過程稱作廣播。arp請求資料幀中包含目的主機的ip位址,其意思是「如果你是這個ip位址的擁有者,請回答你的硬體位址。」

6) 目的主機的arp層收到這份廣播後,識別出這是傳送端在尋問它的ip位址,於是傳送乙個arp應答。這個arp應答包含i p位址及對應的硬體位址。

7) 收到arp應答後,使arp進行請求—應答交換的ip資料報現在就可以傳送了。

8) 傳送ip資料報到目的主機。

如圖8所示

3、例項分析

下面通過分析用iris捕獲的包來分析一下tcp/ip的工作過程,為了更清晰的解釋資料傳送的過程,我們按傳輸的不同階段抓了四組資料,分別是查詢伺服器、建立連線、資料傳輸和終止連線。每組資料,按下面三步進行解釋。

·  顯示資料報

·  解釋該資料報

·  按層分析該包的頭資訊【未完待續】

用協議分析工具學習TCP IP

關鍵字 用協議分析工具學習tcp ip 出處用協議分析工具學習tcp ip 一 前言 目前,網路的速度發展非常快,學習網路的人也越來越多,稍有網路常識的人都知道tcp ip協議是網路的基礎,是internet的語言,可以說沒有tcp ip協議就沒有網際網路的今天。目前號稱搞網的人非常多,許多人就是從...

TCP IP協議分析實驗

下面幾張展示一台windows主機使用ethereal捕獲資料報的情況 第一張是總體捕獲情況,後面三張是每一條資料的詳細情況。分析 36 37為dns解析過程,38 39 40這三行顯示的是tcp建立連線時的三次握手情況,41為http傳輸過程。下面以第38行的資料報為例,根據資料報封裝的各個協議位...

TCP IP 協議簡單分析

首先 tcp和 ip是兩種不同的協議,它們來七層網路模型中分別在不同的層次,ip協議是網路層的協議,tcp是更高一層的傳輸層的協議,tcp是建立在 ip協議之上的,所以一般把 tcp和 ip連在一起說 tcp ip 協議。windows 系統的tcp 協議棧的資料報預設是 1460 位元組大小,如果...