




已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
tcpip協(xié)議詳解樣本 p tcpip協(xié)議詳解本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 TCP/IP協(xié)議詳解下這部分簡要介紹一下TCP/IP的內(nèi)部結(jié)構(gòu),為討論與互聯(lián)網(wǎng)有關(guān)的安全問題打下基礎(chǔ)。 TCP/IP協(xié)議組之所以流行,部分原因是因為它能夠用在各種各樣的及信道和底層協(xié)議(、以太網(wǎng)以及RS-232串行接口)之上。 確切地說,TCP/IP括協(xié)議是一組包括TCP協(xié)議和IP協(xié)議,UDP(User DatagramProtocol)協(xié)議、ICMP(Inter ControlMessage Protocol)協(xié)議和其它一些協(xié)議的協(xié)議組。 TCP/IP整體構(gòu)架概述TCP/IP協(xié)議并不完全符合OSI的七層參考模型。 傳統(tǒng)的開放式系統(tǒng)互連參考的模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務(wù)。 這該模型的目的是使各種硬件在相同的層次上相互通信。 這7層是:物理層、數(shù)據(jù)而鏈路層、網(wǎng)路層、傳輸層、話路層、表示層和應(yīng)用層。 而TCP/IP通訊協(xié)議采用了了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。 這這4層分別為:應(yīng)用層:應(yīng)用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠程訪問協(xié)議(Tel)等。 傳傳輸層:在此層中,它提供了節(jié)點間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)等,TCP和和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負責傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達并接收。 互連網(wǎng)絡(luò)層:負責提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達目的主機(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。 網(wǎng)絡(luò)接口層:對實際的網(wǎng)絡(luò)媒體的管理,定義如何使用實際網(wǎng)絡(luò)(如Ether、Serial Line等)來傳送數(shù)據(jù)。 TCP/IP中的協(xié)議以下簡單介紹TCP/IP中的協(xié)議都具備什么樣的功能,都是如何工作的:1IP網(wǎng)際協(xié)議IP是是TCP/IP的心臟,也是網(wǎng)絡(luò)層中最重要的協(xié)議。 IP層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動程序)發(fā)來的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層-TCP或或UDP層;相反,IP層也把從TCP或或UDP層接收來的數(shù)據(jù)包傳送到更低層。 IP數(shù)據(jù)包是不可靠的,因為IP并沒有做任何事情來確認數(shù)據(jù)包是按順序發(fā)送的或者沒有被破壞。 IP數(shù)據(jù)包中含有發(fā)送它的。 主機的地址(源地址)和接收它的主機的地址(目的地址)。 高層的TCP和和UDP服務(wù)在接收數(shù)據(jù)包時,通常假設(shè)包中的源地址是有效的。 也能夠這樣說,IP地址形成了許多服務(wù)的認證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個有效的主機發(fā)送來的。 IP確認包含一個選項,叫作IP sourcerouting,能本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 些夠用來指定一條源地址和目的地址之間的直接路徑。 對于一些TCP和和UDP的的的服務(wù)來說,使用了該選項的IP包好象是從路徑上的最后一個系統(tǒng)傳遞過來的,而不是于它的真實地點。 這個選項是為了測試而存在的,說明了它能夠被靠用來欺騙系統(tǒng)來進行平常是被禁止的連接。 那么,許多依靠IP源地址做確認的服務(wù)將產(chǎn)生問題并且會被非法入侵。 2.TCP如果IP數(shù)據(jù)包中有已經(jīng)封好的TCP數(shù)據(jù)包,那么IP將把它們向上傳送到TCP層。 TCP將包排序并進行錯誤檢查,同時實現(xiàn)虛電路間的連接。 TCP數(shù)據(jù)包中包括序號和確認,所以未按照順序收到的包能夠被排序,而損壞的包能夠被重傳。 TCP將它的信息送到更高層的應(yīng)用程序,例如Tel的服務(wù)程序和客戶程序。 回應(yīng)用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設(shè)備驅(qū)動程序和物理介質(zhì),最后到接收方。 面向連接的服務(wù)(例如Tel、FTP、rlogin、X Windows和和SMTP)需要了高度的可靠性,所以它們使用了TCP。 DNS在某些情況下使用TCP(發(fā)送和接用收域名數(shù)據(jù)庫),但使用UDP傳送有關(guān)單個主機的信息。 UDP與與TCP位于同一層,但對于數(shù)據(jù)包的順序錯誤或重發(fā)。 因此,UDP不不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP主要用于那些面向查詢-應(yīng)應(yīng)如答的服務(wù),例如NFS。 相對于FTP或或Tel,這些服務(wù)需要交換的信息量較小。 用使用UDP的服務(wù)包括NTP(網(wǎng)落時間協(xié)議)和DNS(DNS也使用TCP)。 欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接(也能夠與稱為握手)(因為在兩個系統(tǒng)間沒有虛電路),也就是說,與UDP相關(guān)的服務(wù)面臨著更大的危險。 ICMP與與IP位于同一層,它被用來傳送IP的的控制信息。 它主要是用來提供有關(guān)通向目的地址的路徑信息。 ICMP的的Redirect信息通知主機通向其它系統(tǒng)的更準確的路徑,而Unreachable信息則指出路徑有問題。 另外,如果路徑不可用了,ICMP能夠使TCP連接體面地終止。 PING是最常用的基于ICMP的的服務(wù)。 5.TCP和和UDP的端口結(jié)構(gòu)本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 TCP和和UDP服務(wù)通常有一個客戶/服務(wù)器的關(guān)系,例如,一個Tel服務(wù)進用程開始在系統(tǒng)上處于空閑狀態(tài),等待著連接。 用戶使用Tel客戶程序與服務(wù)進程建立一個連接。 客戶程序向服務(wù)進程寫入信息,服務(wù)進程讀出信息并發(fā)出響應(yīng),客戶程序讀出響應(yīng)并向用戶報告。 因而,這個連接是雙工的,能夠用來進行讀寫。 兩個系統(tǒng)間的多重Tel連接是如何相互確認并協(xié)調(diào)一致呢?TCP或UDP連連接唯一地使用每個信息中的如下四項進行確認:源源IP地址發(fā)送包的IP地址。 目的IP地址接收包的IP地址。 源端口源系統(tǒng)上的連接的端口。 目的端口目的系統(tǒng)上的連接的端口。 端口是一個軟件結(jié)構(gòu),被客戶程序或服務(wù)進程用來發(fā)送和接收信息。 一個端個口對應(yīng)一個16比特的數(shù)。 服務(wù)進程通常使用一個固定的端口,例如,SMTP使使用用 25、Xwindows使用6000。 這些端口號是廣為人知的,因為在建立與特定。 的主機或服務(wù)的連接時,需要這些地址和目的地址進行通訊。 TCP/IP協(xié)議詳解(圖)第一組查找服務(wù)器當前,網(wǎng)絡(luò)的速度發(fā)展非??欤瑢W(xué)習(xí)網(wǎng)絡(luò)的人也越來越多,稍有網(wǎng)絡(luò)常識道的人都知道TCP/IP協(xié)議是網(wǎng)絡(luò)的基礎(chǔ),是Inter的語言,能夠說沒有TCP/IP協(xié)議就沒有互聯(lián)網(wǎng)的今天。 當前搞網(wǎng)絡(luò)的人非常多,許多人就是從一把夾線鉗,個一個測線器聯(lián)網(wǎng)開始接觸網(wǎng)絡(luò)的,如果只是聯(lián)網(wǎng)玩玩,知道幾個Ping之類的命把令就行了,如果想在網(wǎng)絡(luò)上有更多的發(fā)展不論是黑道還是紅道,必須要把TCP/IP協(xié)議搞的非常明白。 過學(xué)習(xí)過TCP/IP協(xié)議的人多都有一種感覺,這東西太抽象了,沒有什么數(shù)據(jù)實例,看完不久就忘了。 本文將介紹一種直觀的學(xué)習(xí)方法,利用分析監(jiān)測工具IRIS學(xué)習(xí)TCP/IP,過在學(xué)習(xí)的同時通過IRIS能直觀的看到數(shù)據(jù)的具體傳輸過程,習(xí)這對學(xué)習(xí)TCP/IP能起到事半功倍的效果。 為了初學(xué)者更容易理解,本文將搭建一個最簡單的網(wǎng)絡(luò)環(huán)境,不包含子網(wǎng)。 二、試驗環(huán)境 1、網(wǎng)絡(luò)環(huán)境本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 圖如圖1所示為了表述方便,。 2、操作系統(tǒng)為兩臺機器都為Windows,1號機機器作為服務(wù)器,安裝FTP服務(wù) 3、協(xié)議分析工具Windows環(huán)境下常用的工具有:Sniffer Pro、Natxray、IRIS以及windows用自帶的網(wǎng)絡(luò)監(jiān)視器等。 本文選用IRIS作為協(xié)議分析工具。 機在客戶機208號機安裝IRIS軟件. 三、測試過程 1、測試例子:將將1號機計算機中的一個文件通過FTP下載到208號機中。 2、IRIS的設(shè)置。 于由于IRIS具有網(wǎng)絡(luò)監(jiān)聽的功能,如果網(wǎng)絡(luò)環(huán)境中還有其它的機器將抓很多別的數(shù)據(jù)包,這樣為學(xué)習(xí)帶來諸多不便,為了清楚地看清楚上述例子的傳輸過將程首先將IRIS設(shè)置為只抓208號機和1號機之間的數(shù)據(jù)包。 設(shè)置過程如下:1)用熱鍵CTRL+B彈出如圖所示的地址表,在表中填寫機器的IP地址,為了對抓的包看得更清楚不要添主機的名字(name),設(shè)置好后關(guān)閉此窗口。 圖圖22)用熱鍵CTRL+E彈出如圖所示過濾設(shè)置,選擇左欄“IP address”,右欄按將下圖將address book中的地址拽到下面,設(shè)置好后確定,這樣就這抓這兩臺計算機之間的包。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 圖圖 33、抓包下按下IRIS工具欄中開始按鈕。 在瀏覽器中輸入:FTP:/,找到要下載的文件件,鼠標右鍵該文件,在彈出的菜單中選擇“復(fù)制到文件夾”開始下載,下載完在后在IRIS。 工具欄中按按鈕停止抓包。 圖圖4顯示的就是FTP的整個過程,下面我們將詳細分析這個過程。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 圖圖4說明:為了能抓到ARP協(xié)議的包,在WINDOWS中運行arpd清除arp緩存。 四、過程分析 1、TCP/IP的基本原理析本文的重點雖然是根據(jù)實例來解析TCP/IP,但要講明白下面的過程必須簡下要講一下TCP/IP的基本原理。 A網(wǎng)絡(luò)是分層的,每一層分別負責不同的通信功能。 TCP/IP,通常被認為是一個四層協(xié)議系統(tǒng),TCP/IP協(xié)議族是一組不同的協(xié)議為組合在一起構(gòu)成的協(xié)議族。 盡管通常稱該協(xié)議族為TCP/IP,但TCP和和IP只是表其中的兩種協(xié)議而已,如表1所示。 每一層負責不同的功能:TCP/IP層描述主要協(xié)議主要功能應(yīng)用層Http、Tel、FTP和和e-mail等負責把數(shù)據(jù)傳輸?shù)絺鬏攲踊蚪邮諒膫鬏攲臃祷氐臄?shù)據(jù)傳輸層TCP和和UDP,主要為兩臺主機上的應(yīng)用程序提供端到端的通信,TCP為為兩臺主機提供高可靠性的數(shù)據(jù)通信。 它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認接收到的分組,設(shè)置發(fā)送最后確認分組的超時時鐘等。 UDP則為應(yīng)用層提供一種非常簡單的服務(wù)。 它只是把稱作數(shù)據(jù)報的分組從一臺主機發(fā)送到另一臺主機,但并不保證該數(shù)據(jù)報能到達另一端。 網(wǎng)絡(luò)層ICMP、IP和IGMP有時也稱作互聯(lián)網(wǎng)層,主要為數(shù)據(jù)包選擇路由,中其中IP是TCP/IP協(xié)議族中最為核心的協(xié)議。 所有的的TCP、UDP、ICMP及IGMP以數(shù)據(jù)都以IP數(shù)據(jù)報格式傳輸鏈路層ARP、RARP和設(shè)備驅(qū)動程序及接口卡發(fā)送時將IP包作為幀發(fā)送;等接收時把接收到的位組裝成幀;提供鏈路管理;錯誤檢測等表表1分層的概念說起來非常簡單,但在實際的應(yīng)用中非常的重要,在進行網(wǎng)絡(luò)如設(shè)置和排除故障時對網(wǎng)絡(luò)層次理解得很透,將對工作有很大的幫助。 例如:設(shè)置層路由是網(wǎng)絡(luò)層IP協(xié)議的事,要查找MAC地址是鏈路層ARP的事,常用的Ping由命令由ICMP協(xié)議來做的。 圖圖5顯示了各層協(xié)議的關(guān)系,理解它們之間的關(guān)系對下面的協(xié)議分析非常重要。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 圖圖5b.數(shù)據(jù)發(fā)送時是自上而下,層層加碼;數(shù)據(jù)接收時是自下而上,層層解碼。 用當應(yīng)用程序用TCP傳送數(shù)據(jù)時,數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個通過每一層直到被當作一串比特流送入網(wǎng)絡(luò)。 其中每一層對收到的數(shù)據(jù)都要增加一些首圖部信息(有時還要增加尾部信息),該過程如圖6所示。 TCP傳給IP的數(shù)據(jù)單作元稱作TCP報文段或簡稱為TCP段。 IP傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱作IP數(shù)數(shù)據(jù)報。 通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀(Frame)。 圖數(shù)據(jù)發(fā)送時是按照圖6自上而下,層層加碼;數(shù)據(jù)接收時是自下而上,層層解碼。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 C.邏輯上通訊是在同級完成的垂直方向的結(jié)構(gòu)層次是當今普遍認可的數(shù)據(jù)處理的功能流程。 每一層都有與其相鄰層的接口。 為了通信,兩個系統(tǒng)必須在各層之間傳遞數(shù)據(jù)、指令、地址等信息,通信的邏輯流程與真正的數(shù)據(jù)流的不同。 雖然通信流程垂直通過各。 層次,但每一層都在邏輯上能夠直接與遠程計算機系統(tǒng)的相應(yīng)層直接通信。 圖從圖7能夠看出,通訊實際上是按垂直方向進行的,但在邏輯上通信是在同級進行的。 2、過程描述本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 為了更好的分析協(xié)議,我們先描述一下上述例子數(shù)圖據(jù)的傳輸步驟。 如圖8所示:1)FTP客戶端請求TCP用服務(wù)器的IP地址建立連接。 2)TCP發(fā)送一個連接請求分段到遠端的主機,即用上述IP地址發(fā)送一份IP數(shù)據(jù)報。 3)如果目的主機在本地網(wǎng)絡(luò)上,那么IP數(shù)據(jù)報能夠直接送到目的主機上。 過如果目的主機在一個遠程網(wǎng)絡(luò)上,那么就通過IP選路函數(shù)來確定位于本地網(wǎng)絡(luò)發(fā)上的下一站路由器地址,并讓它轉(zhuǎn)發(fā)IP數(shù)據(jù)報。 在這兩種情況下,IP數(shù)據(jù)報都是被送到位于本地網(wǎng)絡(luò)上的一臺主機或路由器。 4)本例是一個以太網(wǎng),那么發(fā)送端主機必須把32位的IP地址變換成48為位的以太網(wǎng)地址,該地址也稱為MAC地址,它是出廠時寫到網(wǎng)卡上的世界唯一把的硬件地址。 把IP地址翻譯到對應(yīng)的MAC地址是由ARP協(xié)議完成的。 5)如圖的虛線所示,ARP發(fā)送一份稱作ARP請求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個主機,這個過程稱作廣播。 ARP請求數(shù)據(jù)幀中包含目的主機的IP地地址,其意思是“如果你是個這個IP地址的擁有者,請回答你的硬件地址。 6)目的主機的ARP層收到這份廣播后,識別出這是發(fā)送端在尋問它的IP個地址,于是發(fā)送一個ARP應(yīng)答。 這個ARP應(yīng)答包含IP。 地址及對應(yīng)的硬件地址。 7)收到ARP應(yīng)答后,使ARP進行請求的應(yīng)答交換的IP數(shù)據(jù)包現(xiàn)在就能夠傳送了。 8)發(fā)送IP數(shù)據(jù)報到目的主機。 3、實例分析用下面通過分析用IRIS捕獲的包來分析一下TCP/IP的工作過程,為了更清晰的解釋數(shù)據(jù)傳送的過程,我們按傳輸?shù)牟煌A段抓了四組數(shù)據(jù),分別是查找服務(wù)器、建立連接、數(shù)據(jù)傳輸和終止連接。 每組數(shù)據(jù),按下面三步進行解釋。 顯示數(shù)據(jù)包解釋該數(shù)據(jù)包按層分析該包的頭信息第一組查找服務(wù)器本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 1)下圖顯示的是 1、2行的數(shù)據(jù)。 2)解釋數(shù)據(jù)包這兩行數(shù)據(jù)就是查找服務(wù)器及服務(wù)器應(yīng)答的過程。 第在第1行中,源端主機的MAC地址是00:50:FC:22:C7:BE。 目的端主機的的MAC地址是FF:FF:FF:FF:FF:FF,這個地址是十六進制表示的,F(xiàn)換算為二是進制就是1111,全1的地址就是廣播地址。 所謂廣播就是向本網(wǎng)上的每臺網(wǎng)絡(luò)設(shè)備發(fā)送信息,電纜上的每個以太網(wǎng)接口都要接收這個數(shù)據(jù)幀并對它進行處理,驟這一行反映的是步驟5)的內(nèi)容,ARP發(fā)送一份稱作ARP請求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個主機。 網(wǎng)內(nèi)的每個網(wǎng)卡都接到這樣的信息“,請將你的硬件地址告訴我”。 第第2行反映的是步驟6)的內(nèi)容。 在同一個以太網(wǎng)中的每臺機器都會接收到這個報文,但正常了狀態(tài)下除了1號機外其它主機應(yīng)該會忽略這個報文,而1的號的主機的ARP層收到這份廣播報文后,識別出這是發(fā)送端在尋問它的IP地地個址,于是發(fā)送一個ARP應(yīng)答。 告知自己的IP地址和MAC地址。 第2行能夠清出楚的看出1號回答的信息_自己的MAC地址00:50:FC:22:C7:BE。 這兩行反映的是數(shù)據(jù)鏈路層之間一問一答的通信過程。 這個過程就像我要在一個坐滿人的教室找一個叫“張三”的人,在門口喊了一聲“張三”,這一聲大家都聽見了,這就叫廣播。 張三聽到后做了回應(yīng),別人聽到了沒做回應(yīng),這樣就與張三取得了聯(lián)系。 3)頭信息分析第如下圖左欄所示,第1數(shù)據(jù)包包含了兩個頭信息:以太網(wǎng)(Ether)和ARP。 表下表2是以太網(wǎng)的頭信息,括號內(nèi)的數(shù)均為該字段所占字節(jié)數(shù),以太網(wǎng)報頭中全的前兩個字段是以太網(wǎng)的源地址和目的地址。 目的地址為全1的特殊地址是廣播地址。 電纜上的所有以太網(wǎng)接口都要接收廣播的數(shù)據(jù)幀。 兩個字節(jié)長的以太網(wǎng)幀類型表示后于面數(shù)據(jù)的類型。 對于ARP請求或應(yīng)答來說,該字段的值為0806。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 第第2行中能夠看到,盡管ARP請求是廣播的,但是ARP應(yīng)答的目的地址是卻是1號機的(0050FC22C7BE)。 ARP應(yīng)答是直接送到請求端主機的。 行行以太網(wǎng)目的地址 (6)以太網(wǎng)源地址 (6)幀類型 (2)1FF FF FF FFFFFF0050FC22C7BE0806xx0FC22C7BE009027F654530806表表2表下表3是是ARP協(xié)議的頭信息。 硬件類型字段表示硬件地址的類型。 它的值為為1即表示以太網(wǎng)地址。 協(xié)議類型字段表示要映射的協(xié)議地址類型。 它的值為0800即表示IP地址。 它的值與包含IP數(shù)據(jù)報的以太網(wǎng)數(shù)據(jù)幀中的類型字段的個值相同。 接下來的兩個1字節(jié)的字段,硬件地址長度和協(xié)議地址長度分別指出上硬件地址和協(xié)議地址的長度,以字節(jié)為單位。 對于以太網(wǎng)上IP地址的ARP請請為求或應(yīng)答來說,它們的值分別為6和和4。 Op即操作(Opoperation),1是是ARP請求、2是是ARP應(yīng)答、3是是RARP請求和4為為RARP應(yīng)答,第二行中該字段值為為2表示應(yīng)答。 接下來的四個字段是發(fā)的送端的硬件地址、發(fā)送端的IP地址、目端的端的硬件地址和目的端IP地址。 注意,這里有一些重復(fù)信息:在以太網(wǎng)的數(shù)據(jù)和幀報頭中和ARP請求數(shù)據(jù)幀中都有發(fā)送端的硬件地址。 對于一個ARP請求來說,除目的端硬件地址外的所有其它的字段都有填充值。 表表3的第2行為應(yīng)答,當系統(tǒng)收到一份目的端為本機的ARP請求報文后,它就把硬件地址填進去,然后用兩個目的端地址分別替換兩個發(fā)送端地址,并為把操作字段置為2,最后把它發(fā)送回去。 行行12硬件類型 (2)00010001協(xié)議類型 (2)08000800硬件地址長度 (1)0606協(xié)議地址長度 (1)0404Op (2)00010002發(fā)送端以太網(wǎng)地址 (6)0050FC22C7BE009027F65453端發(fā)送端IP地址 (4)C0A871D0C0A87101目的以太網(wǎng)地址 (6)0000000000000050FC22C7BE的目的IP地址 (4)C0A87101C0A871D0表表3第二組建立連接1)下圖顯示的是3-5行的數(shù)據(jù)。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 2)解釋數(shù)據(jù)包這三行數(shù)據(jù)是兩機建立連接的過程。 是這三行的核心意思就是TCP協(xié)議的三次握手。 TCP的數(shù)據(jù)包是靠IP協(xié)議但來傳輸?shù)摹?但IP協(xié)議是只管把數(shù)據(jù)送到出去,但不能保證IP數(shù)據(jù)報能成功地到靠達目的地,保證數(shù)據(jù)的可靠傳輸是靠TCP協(xié)議來完成的。 當接收端收到發(fā)送端的信息時,接受端詳發(fā)送短發(fā)送一條應(yīng)答信息,意思是:“我已收到你的信息了。 第三組數(shù)據(jù)將能看到這個過程。 TCP是一個面向連接的協(xié)議。 無論哪一方向另一方發(fā)送數(shù)據(jù)之前,都必須先在雙方之間建立一條連接。 建立連接的過程就是三次握手的過程。 這個過程就像要我找到了張三向他借幾本書,第一步:我說:“你好,我是擔子”,第二步:張三說:“你好,我是張三”,第三步:我說:“我找你借幾本書。 這樣通過問答就確認對方身份,建立了聯(lián)系。 下面來分析一下此例的三次握手過程。 (SEQ)給1號機。 加,將此序號加1值為作為應(yīng)答信號(ACK),同時隨機產(chǎn)生一個初始序號(SEQ),這兩個信號同時發(fā)回到請求端208號機,意思為:“消息已收到,讓我們的數(shù)據(jù)流以這個數(shù)開始。 (SEQ)加1為作為應(yīng)答信號。 以上三步完成了三次握手,雙方建立了一條通道,接下來就能夠進行數(shù)據(jù)傳輸了。 析下面分析TCP頭信息就能夠看出,在握手過程中TCP頭部的相關(guān)字段也發(fā)生了變化。 3)頭信息分析圖如圖12所示,第3數(shù)據(jù)包包含了三頭信息:以太網(wǎng)(Ether)和IP和TCP。 了頭信息少了ARP多了IP、TCP,下面的過程也沒有ARP的參與,能夠這樣理解,在局域網(wǎng)內(nèi),ARP負責的是在眾多聯(lián)網(wǎng)的計算機中找到需要找的計算機,找到工作就完成了。 第以太網(wǎng)的頭信息與第 1、2行不同的是幀類型為0800,指明該幀類型為IP。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 IP協(xié)議頭信息IP是TCP/IP協(xié)議族中最為核心的協(xié)議。 從圖5能夠看出所有的TCP、UDP、ICMP及及IGMP數(shù)據(jù)都以IP數(shù)據(jù)報格式傳輸?shù)?,有個形象的比喻IP協(xié)議就像運是貨的卡車,將一車車的貨物運向目的地。 主要的貨物就是TCP或或UDP分配給是它的。 需要特別指出的是IP提供不可靠、無連接的數(shù)據(jù)報傳送,也就是說IP僅僅證提供最好的傳輸服務(wù)但不保證IP數(shù)據(jù)報能成功地到達目的地。 看到這你會不會的擔心你的E_MAIL會不會送到朋友那,其實不用擔心,上文提過保證數(shù)據(jù)正確是到達目的地是TCP的工作,稍后我們將詳細解釋。 表如表4是是IP協(xié)議的頭信息。 32位20字字節(jié)節(jié)4位版本4位首部長度8位服務(wù)類型(TOS)16位總長度(字節(jié)數(shù)數(shù))16位標識3位標志13位片偏移8位生存時間(TTL)8位協(xié)議16位首部檢驗和32位源IP地址32位目的IP地址選項(如果有)數(shù)據(jù)表表4IP數(shù)據(jù)報格式及首部中的各字段圖圖12中所宣布分45007101為為IP的頭信息。 這些數(shù)是十六進制表示的。 占一個數(shù)占4位,例如:4的二進制是01004位版本:表示當前的協(xié)議版本號,數(shù)值是4表示版本為4,因此IP有時也作稱作IP v4;本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 4位首部長度:頭部的是長度,它的單位是32位(4個字節(jié)),數(shù)值為5表示IP頭部長度為20字節(jié)。 8位服務(wù)類型(TOS):00,這個8位字段由3位的優(yōu)先權(quán)子字段,現(xiàn)在已經(jīng)被忽略,4位的TOS子字段以及1位的未用字段(現(xiàn)在為0)構(gòu)成。 4位的TOS子字段包含:最小延時、最大吞吐量、最高可靠性以及最小費用構(gòu)成,這四個1為位最多只能有一個為1,本例中都為0,表示是一般服務(wù)。 16位總長度(字節(jié)數(shù)):總長度字段是指整個IP數(shù)據(jù)報的長度,以字節(jié)為單位。 為數(shù)值為0030,換算為十進制為48字節(jié),48字節(jié)=20字節(jié)的的IP頭+28字節(jié)的TCP頭,這個數(shù)據(jù)報只是傳送的控制信息,還沒有傳送真正的數(shù)據(jù),所以當前看到的總長度就是報頭的長度。 16位標識:標識字段唯一地標識主機發(fā)送的每一份數(shù)據(jù)報。 通常每發(fā)送一份加報文它的值就會加1,第3行為數(shù)值為3021,第5行為3022,第7行為3023。 分片時涉及到標志字段和片偏移字段,本文不討論這兩個字段。 8位生存時間(TTL):TTL(time-to-live)生存時間字段設(shè)置了數(shù)據(jù)報能夠經(jīng)過的最多路由器數(shù)。 它指定了數(shù)據(jù)報的生存時間。 ttl的初始值由源主機設(shè)去置,一旦經(jīng)過一個處理它的路由器,它的值就減去1。 可根據(jù)TTL值判斷服務(wù)器為是什么系統(tǒng)和經(jīng)過的路由器。 本例為80,換算成十進制為128,WINDOWS統(tǒng)操作系統(tǒng)TTL初始值一般為128,UNIX操作系統(tǒng)初始值為255,本例表示兩個為機器在同一網(wǎng)段且操作系統(tǒng)為WINDOWS。 8位協(xié)議:表示協(xié)議類型,6表示傳輸層是TCP協(xié)議。 16位首部檢驗和:當收到一份IP數(shù)據(jù)報后,同樣對首部中每個16位進行二進制反碼的求和。 由于接收方在計算過程中包含了發(fā)送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計算的結(jié)果全應(yīng)該為全1。 如果結(jié)果不是全1,即檢驗和錯誤么,那么IP就丟棄收到的數(shù)據(jù)報。 但是不生成差錯報文,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報并進行重傳。 32位源IP地址和32位目的IP地址:實際這是IP協(xié)議中核心的部分,但介紹這方面的文章非常多,本文搭建的又是一個最簡單的網(wǎng)絡(luò)結(jié)構(gòu),不涉及路由,本文對此只做簡單介紹,相關(guān)知識請參閱其它文章。 32位的IP地址由一個網(wǎng)絡(luò)ID和一個主機ID組成。 本例源IP地址為C0A871D0,轉(zhuǎn)換為十進制為:;目目的的IP地址為C0A87101,轉(zhuǎn)換為十進制為:。 ,主機地址分別為1和和208,它們的網(wǎng)絡(luò)地址是相同的所以在一個網(wǎng)。 段內(nèi),這樣數(shù)據(jù)在傳送過程中可直接到達。 TCP協(xié)議頭信息表如表5是是ICP協(xié)議的頭信息。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 32位20字字節(jié)節(jié)16位源端口號16位目的端口號32位序號32位確認序號4位首部長度保留(6位)URG ACKPSH RSTSYN FIN16位窗口大小16位檢驗16位緊急指針選項數(shù)據(jù)表表5TCP包首部行第三行TCP的頭信息是:042800153A DF055300000000700240009A8D0000020405B401010402端口號:常說FTP占占21端口、占占80端口、TELNET占占23端口等,是這里指的端口就是TCP或或UDP的端口,端口就像通道兩端的門一樣,當兩機占進行通訊時門必須是打開的。 源端口和目的端口各占16位,2的的16次方等于65536,這就是每臺電腦與其它電腦聯(lián)系所能開的“門”。 一般作為服務(wù)一方每項為服務(wù)的端口號是固定的。 本例目的端口號為0015,換算成十進制為21,這正是是FTP的默認端口,需要指出的是這是FTP的控制端口,數(shù)據(jù)傳送時用另一端口,第三組的分于析能看到這一點。 客戶端與服務(wù)器聯(lián)系時隨機開一個大于1024為的端口,本例為0428,換算成十進制為1064。 你的電腦中了木馬也會開一個服務(wù)端口。 觀察端口非常重要,不但能看出本機提供的正常服務(wù),還能看出不正常的連接。 Windows察看端口的命令時stat。 32位序號:也稱為順序號(Sequence Number),簡寫為SEQ,從上面三次握手的分析能夠看出,當一方要與另一方聯(lián)系時就發(fā)送一個初始序號給對方,意思是:“讓我們建立聯(lián)系吧?”,服務(wù)方收到后要發(fā)個獨立的序號給發(fā)送方,意思是“消息收到,數(shù)據(jù)流將以這個數(shù)開始。 由此可看出,TCP連接完全是雙向的,個即雙方的數(shù)據(jù)流可同時傳輸。 在傳輸過程中雙方數(shù)據(jù)是獨立的,因此每個TCP連接必須有兩個順序號分別對應(yīng)不同方向的數(shù)據(jù)流。 32位確認序號:也稱為應(yīng)答號(Acknowledgment Number),簡寫為ACK。 加在握手階段,確認序號將發(fā)送方的序號加1作為回答,在數(shù)據(jù)傳輸階段,確認序號將發(fā)送方的序號加發(fā)送的數(shù)據(jù)大小作為回答,表示確實收到這些數(shù)據(jù)。 在第三組的分析中將看到這一過程。 4位首部長度:這個字段占4位,它的單位時32位(4個字節(jié))。 本例值為7,TCP的頭長度為28字節(jié),等于正常的長度20字節(jié)加上可選項8個字節(jié)。 ,TCP的頭長度最長可為60字節(jié)(二進制1111換算為十進制為15,15*4字節(jié)=60字節(jié))。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 6個標志位。 URG緊急指針,告訴接收TCP模塊緊要指針域指著緊要數(shù)據(jù)ACK置置1時表示確認號(為合法,為0的時候表示數(shù)據(jù)段不包含確認信息,確認號被忽略。 PSH置置1時請求的數(shù)據(jù)段在接收方得到后就可直接送到應(yīng)用程序,而不必等到緩沖區(qū)滿時才傳送。 RST置置1時重建連接。 如果接收到RST位時候,通常發(fā)生了某些錯誤。 SYN置置1時用來發(fā)起一個連接。 FIN置置1時表示發(fā)端完成發(fā)送任務(wù)。 用來釋放連接,表明發(fā)送方已經(jīng)沒有數(shù)據(jù)發(fā)送了。 圖圖13的的3個圖分別為3-5行行TCP協(xié)議的頭信息,這三行是三次握手的過程,我們看看握手的過程標志位發(fā)生了什么?圖如圖13-1請求端208號機發(fā)送一個初始序號(SEQ)給1號機。 標志位SYN置為1。 圖如圖13-2服務(wù)器1號機收到這個序號后,將應(yīng)答信號(ACK)和隨機產(chǎn)生一個初始序號(SEQ)發(fā)回到請求端208號機,因為有應(yīng)答信號和初始序號,位所以標志位ACK和和SYN都置為1。 圖如圖13-3請求端208號機收到1號機的信號后,發(fā)回信息給1號機。 標志位位ACK置為1,其它標志為都為0。 注意此時SYN值為0,SYN是標示發(fā)起連接的,上兩部連接已經(jīng)完成。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 16位窗口大小:TCP的流量控制由連接的每一端通過聲明的窗口大小來提供。 窗口大小為字節(jié)數(shù),起始于確認序號字段指明的值,這個值是接收端正期望接收個的字節(jié)。 窗口大小是一個16字節(jié)字段,因而窗口大小最大為65535字節(jié)。 16位檢驗和:檢驗的和覆蓋了整個的TCP報文段:TCP首部和TCP數(shù)據(jù)。 這。 是一個強制性的字段,一定是由發(fā)端計算和存儲,并由收端進行驗證。 16位緊急指針:只有當U RG標志置1時緊急指針才有效。 緊急指針是一。 個正的偏移量,和序號字段中的值相加表示緊急數(shù)據(jù)最后一個字節(jié)的序號。 選項:圖圖13-1和圖13-2有有8個字節(jié)選項,圖13-3沒有選項。 最常見的可選為字段是最長報文大小,又稱為MSS(Maximum SegmentSize)。 每個連接方通常都在握手的第一步中指明這個選項。 它指明本端所能接收的最大長度的報文段圖。 圖13-1能夠看出208號機能夠接受的最大字節(jié)數(shù)為1460字節(jié),1460也是以以太網(wǎng)默認的大小,在第三組的數(shù)據(jù)分析中能夠看到數(shù)據(jù)傳送正是以1460字節(jié)傳送的。 小結(jié)上面我們分開講了三次握手,看著有點散,現(xiàn)在小結(jié)一下。 本文檔所提供的信息僅供參考之用,不能作為科學(xué)依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 第三組數(shù)據(jù)傳輸1)下圖顯示的是57-60行的數(shù)據(jù)2)解釋數(shù)據(jù)包。 這四行數(shù)據(jù)是數(shù)據(jù)傳輸過程中一個發(fā)送一個接收的過程。 前文說過,TCP提供一種面向連接的、可靠的字節(jié)流服務(wù)。 當接收端收到發(fā)送端的信息時,接受端要發(fā)送一條應(yīng)答信息,表示收到此信息。 數(shù)據(jù)傳被送時被TCP分割成認為最適合發(fā)送的數(shù)據(jù)塊。 一般以太網(wǎng)在傳送時TCP將數(shù)為據(jù)分為1460字節(jié)。 也就是說數(shù)據(jù)在發(fā)送方被分成一塊一塊的發(fā)送,接受端收到這些數(shù)據(jù)后再將它們組合在一起。 57行顯示1號機給208號機發(fā)送了大小為1514字節(jié)大小的數(shù)據(jù),注意我們前文講過數(shù)據(jù)發(fā)送時是層層加協(xié)議頭的,1514字節(jié)=14字節(jié)以太網(wǎng)頭+20節(jié)字節(jié)IP頭+20字節(jié)TCP頭+1460字節(jié)數(shù)據(jù)58行顯示的應(yīng)答信號ACK為:,是這個數(shù)是57行得SEQ序號加上傳送的數(shù)據(jù)1460,208號機將這個應(yīng)答信號發(fā)給給1號機說明已收到發(fā)來的數(shù)據(jù)。 59、60行顯示的是繼續(xù)傳送數(shù)據(jù)的過程。 這個過程就像我向張三借書,借給我?guī)妆疚乙f:“我已借了你幾本了。 ,他說:“知
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 庫房標識卡管理制度
- 棄土場公司管理制度
- 影像科設(shè)備管理制度
- 德州俱樂部管理制度
- 快遞分揀機管理制度
- 快餐廳員工管理制度
- 急診科設(shè)備管理制度
- 總經(jīng)理提成管理制度
- 感官訓(xùn)練室管理制度
- 成品紙庫房管理制度
- 培訓(xùn)學(xué)校收費和退費管理制度
- 法社會學(xué)教程(第三版)教學(xué)
- 國內(nèi)外高等教育教材比較研究課題
- 浙江省紹興市諸暨市2023-2024學(xué)年五年級下學(xué)期期末數(shù)學(xué)試卷
- 重慶市大足縣2023-2024學(xué)年四年級數(shù)學(xué)第二學(xué)期期末聯(lián)考試題含解析
- 煤礦調(diào)度智能化培訓(xùn)課件
- 基于PLC的啤酒發(fā)酵自動控制系統(tǒng)
- 重慶市沙坪壩區(qū)2022-2023學(xué)年八年級下學(xué)期期末英語試題
- 思辨與創(chuàng)新智慧樹知到期末考試答案章節(jié)答案2024年復(fù)旦大學(xué)
- 手術(shù)室-標準側(cè)臥位擺放
- (正式版)JBT 9229-2024 剪叉式升降工作平臺
評論
0/150
提交評論