網(wǎng)絡(luò)協(xié)議實踐_第1頁
網(wǎng)絡(luò)協(xié)議實踐_第2頁
網(wǎng)絡(luò)協(xié)議實踐_第3頁
網(wǎng)絡(luò)協(xié)議實踐_第4頁
網(wǎng)絡(luò)協(xié)議實踐_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、網(wǎng)絡(luò)工程系網(wǎng)絡(luò)工程系網(wǎng)絡(luò)工程系網(wǎng)絡(luò)工程系 網(wǎng)絡(luò)協(xié)議實踐網(wǎng)絡(luò)協(xié)議實踐網(wǎng)絡(luò)協(xié)議實踐網(wǎng)絡(luò)協(xié)議實踐 課程設(shè)計報告課程設(shè)計報告課程設(shè)計報告課程設(shè)計報告 成成績績( (總總分):分): 答答辯辯( (70 分)分) 課課程程設(shè)計報設(shè)計報告(告(30 分)分)總總分分 簽簽名:名: 目目 錄錄 第一章第一章 tcptcp 和和 arparp 協(xié)議基礎(chǔ)協(xié)議基礎(chǔ) .3 1.1 什么是 tcp 協(xié)議.3 1.2 tcp 報文類型與格式 .3 1.3 什么是 arp 協(xié)議.4 1.4 arp 報文類型和結(jié)構(gòu) .4 第二章第二章 抓包驗證抓包驗證 tcptcp 協(xié)議和協(xié)議和 arparp 協(xié)議協(xié)議 .5 2.1 實驗

2、環(huán)境.5 2.2 實驗步驟與抓包結(jié)果分析.5 2.3 實驗結(jié)論.7 第三章第三章 ospfospf 路由協(xié)議驗證分析路由協(xié)議驗證分析 .8 3.1 實驗環(huán)境及工具介紹 .8 3.2 實驗步驟及抓包結(jié)果分析 .8 3.3 實驗結(jié)論-ospf 運行過程說明.10 3.4 實驗心得體會 .10 網(wǎng)絡(luò)協(xié)議實踐網(wǎng)絡(luò)協(xié)議實踐 第一章 tcp 協(xié)議基礎(chǔ) 1.11.1 什么是什么是 tcptcp 協(xié)議協(xié)議 tcp 協(xié)議 tcp:transmission control protocol 傳輸控制協(xié)議 tcp 是一種面向連接 (連接導(dǎo)向)的、可靠的、基于字節(jié)流的運輸層(transport layer)通信協(xié)議,

3、由 ietf 的 rfc 793 說明。在簡化的計算機(jī)網(wǎng)絡(luò) osi 模型中,它完成第四層傳輸層所指定的功能。 transmission control protocol 傳輸控制協(xié)議,tcp 是一種面向連接(連接導(dǎo)向) 的、可靠的、基于字節(jié)流的運輸層(transport layer)通信協(xié)議 。在傳輸數(shù)據(jù)前要先建 立邏輯連接,然后再傳輸數(shù)據(jù),最后釋放連接 3 個過程。tcp 提供端到端、全雙工通信; 采用字節(jié)流方式,如果字節(jié)流太長,將其分段;提供緊急數(shù)據(jù)傳送功能。 盡管 t c p 和 u d p 都使用相同的網(wǎng)絡(luò)層( i p) ,t c p 卻向應(yīng)用層提供與 u d p 完 全不同的服務(wù)。

4、t c p 提供一種面向連接的、可靠的字節(jié)流服務(wù)。面向連接意味著兩個使用 t c p 的 應(yīng)用(通常是一個客戶和一個服務(wù)器)在彼此交換數(shù)據(jù)之前必須先建立一個 t c p 連接。 這一過程與打電話很相似,先撥號振鈴,等待對方摘機(jī)說“喂” ,然后才說明是誰。 1.2tcp1.2tcp 的頭報文格式的頭報文格式 圖 1.tcp 報頭 字段說明: u r g 緊急指針( u rgent pointer)有效。 a c k 確認(rèn)序號有效。 p s h 接收方應(yīng)該盡快將這個報文段交給應(yīng)用層。 r s t 重建連接。 s y n 同步序號用來發(fā)起一個連接。這個標(biāo)志和下一個標(biāo)志將在第 1 8 章介紹。 f i

5、 n 發(fā)端完成發(fā)送任務(wù)。 1.31.3 tcptcp 連接的建立連接的建立 tcp 協(xié)議通過三個報文段完成連接的建立,這個過程稱為三次握手(three-way handshake) 。 1) 請求端(通常稱為客戶)發(fā)送一個 s y n 段指明客戶打算連接的服務(wù)器的端口,以 及初始序號。這個 s y n 段為報文段 1。 2) 服務(wù)器發(fā)回包含服務(wù)器的初始序號的 s y n 報文段(報文段 2)作為應(yīng)答。同時, 將確認(rèn)序號設(shè)置為客戶的 i s n 加 1 以對客戶的 s y n 報文段進(jìn)行確認(rèn)。一個 s y n 將占 用一個序號。 3) 客戶必須將確認(rèn)序號設(shè)置為服務(wù)器的 i s n 加 1 以對服

6、務(wù)器的 s y n 報文段進(jìn)行確 認(rèn)(報文段 3) 。 圖 2.tcp 連接建立 發(fā)送第一個 s y n 的一端將執(zhí)行主動打開( active open) 。接收這個 s y n 并發(fā)回下 一個 s y n 的另一端執(zhí)行被動打開( passive open) 1.41.4 tcptcp 連接的釋放連接的釋放 建立一個連接需要三次握手,而終止一個連接要經(jīng)過 4 次握手。這由 t c p 的半關(guān)閉 (h a l f -c l o s e)造成的。既然一個 t c p 連接是全雙工(即數(shù)據(jù)在兩個方向上能 同時傳遞) ,因此每個方向必須單獨地進(jìn)行關(guān)閉。這原則就是當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù) 后就能發(fā)送一

7、個 f i n 來終止這個方向連接。當(dāng)一端收到一個 f i n,它必須通知應(yīng)用層 另一端幾經(jīng)終止了那個方向的數(shù)據(jù)傳送。發(fā)送 f i n 通常是應(yīng)用層進(jìn)行關(guān)閉的結(jié)果。 收到一個 f i n 只意味著在這一方向上沒有數(shù)據(jù)流動。一個 t c p 連接在收到一個 f i n 后仍能發(fā)送數(shù)據(jù)。而這對利用半關(guān)閉的應(yīng)用來說是可能的,盡管在實際應(yīng)用中只有很 少的 t c p 應(yīng)用程序這樣做。 圖 4.tcp 鏈接釋放 1、現(xiàn)在 a 的應(yīng)用進(jìn)程先向其 tcp 發(fā)出連接釋放報文段,并停止再發(fā)送數(shù)據(jù),主動關(guān)閉 tcp 連接。a 把連接釋放報文段首部的 fin = 1,其序號 seq = u,等待 b 的確認(rèn)。 2、

8、b 發(fā)出確認(rèn),確認(rèn)號 ack = u +1,而這個報文段自己的序號 seq = v。tcp 服務(wù) 器進(jìn)程通知高層應(yīng)用進(jìn)程。從 a 到 b 這個方向的連接就釋放了,tcp 連接處于半關(guān)閉狀 態(tài)。b 若發(fā)送數(shù)據(jù),a 仍要接收. 3、若 b 已經(jīng)沒有要向 a 發(fā)送的數(shù)據(jù),其應(yīng)用進(jìn)程就通知 tcp 釋放連接, 4、a 收到連接釋放報文段后,必須發(fā)出確認(rèn)。 在確認(rèn)報文段中 ack = 1,確認(rèn)號 ack = w +1,自己的序號 seq = u + 1。 tcp 連接必須經(jīng)過時間 2msl 后才真正釋放掉 1.51.5 抓包驗證抓包驗證 tcptcp 協(xié)議協(xié)議 1.5.11.5.1 實驗環(huán)境實驗環(huán)境 一

9、臺裝有 gns3、wireshark 軟件的 pc 機(jī)。 1.5.21.5.2 實驗步驟與抓包結(jié)果分析實驗步驟與抓包結(jié)果分析 為了方便抓包且更利于分析,本次綜合實驗采用如下拓?fù)? 圖 5 實驗拓?fù)?兩臺路由器簡要配置如下: r1(config)#int fa0/1 r1(config-if)#ip add 192.168.1.1 255.255.255.0 r1(config-if)#no sh r2(config)#int fa0/0 r2(config-if)#ip add 192.168.1.2 255.255.255.0 r2(config-if)#no sh r2(config)#l

10、ine vty 0 4 r2(config-line)#password cisco 在 r1 上 telnet r2,并用 wireshark 抓包,抓取 tcp 的建立連接三次握手和釋放連接 4 次握手包: 啟動 wireshark,抓取經(jīng)過 r1 f0/1 接口的數(shù)據(jù)包。 在 r2 上設(shè)置 telnet 密碼為 cisco,在 r1 上 telnet r2,連上去以后釋放連接: r1#telnet 192.168.1.2 trying 192.168.1.2 . open user access verification password: r2exit connection to 19

11、2.168.1.2 closed by foreign host 然后我們在 wireshark 里面觀察抓取的報文: 圖 6 tcp 建立連接的三次握手 很明顯,序號為 5、6、7 的數(shù)據(jù)包為 tcp 的三次握手建立的過程。r1 發(fā)送 syn 包給 r2,請求連接,然后 r2 發(fā)送 ack 和 syn 標(biāo)志位都為 1 的包給 r1,表示回應(yīng) r1 請求并 且向 r1 請求連接,最后 r1 發(fā)送 ack 包響應(yīng) r2 的連接請求,至此連接建立。 圖 7 tcp 釋放連接的 4 次揮手 圖 7 是 tcp 四次揮手釋放連接的數(shù)據(jù)包。 r1 發(fā)送 fin 包給 r2,請求釋放連接,r2 回復(fù)一個

12、ack 包給 r1,序列號是 fin 的序 列號+1,之后 r2 發(fā)送 fin 包給 r1,請求釋放鏈接,然后 r1 回復(fù) ack 包,至此連接釋放。 第二章第二章 arparp 協(xié)議協(xié)議 2.12.1 什么是什么是 arparp 協(xié)議協(xié)議 arp 是 address resolution protocol(rfc826)的縮寫。中文譯做“地址解析協(xié)議” , 本質(zhì)是完成網(wǎng)絡(luò)地址到物理地址的映射,具體到以太網(wǎng),它使用的是動態(tài)綁定轉(zhuǎn)換的方法。 在 tcp/ip 協(xié)議中,每一個網(wǎng)絡(luò)結(jié)點是用 ip 地址標(biāo)識的,ip 地址是一個邏輯地址。而 在以太網(wǎng)中數(shù)據(jù)包是靠 48 位 mac 地址(物理地址)尋址的

13、。因此,必須建立 ip 地址與 mac 地址之間的對應(yīng)(映射)關(guān)系,arp 協(xié)議就是為完成這個工作而設(shè)計的。 其作用為通過 ip 地址尋找主機(jī)的 mac 地址。 2.22.2 arparp 欺騙欺騙 arp 協(xié)議是建立在信任局域網(wǎng)內(nèi)所有結(jié)點的基礎(chǔ)上的,它很高效,但卻不安全。它是 無狀態(tài)的協(xié)議,不會檢查自己是否發(fā)過請求包,也不管(其實也不知道)是否是合法的應(yīng) 答,只要收到目標(biāo) mac 是自己的 arp reply 包或 arp 廣播包(包括 arp request 和 arp reply) ,都會接受并緩存。這就為 arp 欺騙提供了可能,惡意節(jié)點可以發(fā)布虛假的 arp 報 文從而影響網(wǎng)內(nèi)結(jié)點的

14、通信,甚至可以做“中間人” 。 當(dāng)局域網(wǎng)中的某臺機(jī)器 b 向 a 發(fā)送一個自己偽造的 arp 應(yīng)答,而如果這個應(yīng)答是 b 冒充 c 偽造來的,即 ip 地址為 c 的 ip,而 mac 地址是偽造的,則當(dāng) a 接收到 b 偽造的 arp 應(yīng)答后,就會更新本地的 arp 緩存,這樣在 a 看來 c 的 ip 地址沒有變,而它的 mac 地址已經(jīng)不是原來那個了。在 a 上 c 的 mac 地址被改變成一個不存在的 mac 地址, 這樣就會造成網(wǎng)絡(luò)不通,導(dǎo)致 a 不能 ping 通 c,這就是一個簡單的 arp 欺騙。 arp 欺騙方式: 偽裝成被攻擊主機(jī)廣播 arp 請求 偽裝成被攻擊者進(jìn)行 ar

15、p 應(yīng)答 偽裝成網(wǎng)關(guān)進(jìn)行 arp 應(yīng)答 2.32.3 arparp 的分組格式的分組格式 圖 8.arp 分組格式 字段說明: 兩個字節(jié)長的以太網(wǎng)幀類型表示后面數(shù)據(jù)的類型。對于 a r p 請求或應(yīng)答來說,該字 段的值為 0 x 0 8 0 6。 硬件類型字段表示硬件地址的類型。它的值為 1 即表示以太網(wǎng)地址。 接下來的兩個 1 字節(jié)的字段,硬件地址長度和協(xié)議地址長度分別指出硬件地址和協(xié)議 地址的長度,以字節(jié)為單位。對于以太網(wǎng)上 i p 地址的 a r p 請求或應(yīng)答來說,它們的值 分別為 6 和 4。 操作字段指出四種操作類型,它們是 a r p 請求(值為 1) 、a r p 應(yīng)答(值為

16、2) 、r a r p 請求(值為 3)和 r a r p 應(yīng)答(值為 4) 。 2.42.4 抓包驗證抓包驗證 arparp 協(xié)議協(xié)議 2.4.12.4.1 實驗環(huán)境實驗環(huán)境 xpsp3 下用 wireshark 抓得 arp 請求及應(yīng)答報文 2.4.22.4.2 實驗步驟與抓包結(jié)果分析實驗步驟與抓包結(jié)果分析 為了方便抓包且更利于分析,本次綜合實驗采用如下拓?fù)? 在 r1 telnet r2 剛開始時,r1 會發(fā)送 arp 報文請求 r2 的 mac 地址。下圖為抓取到 的 arp 報文 圖 10 抓包之 arp 數(shù)據(jù)包 圖 10 中,序號為 3 的包是 arp 請求包,以廣播方式發(fā)送出去,

17、尋求 ip 地址為 192.168.1.2 的 mac 地址。以下為報文內(nèi)容: 圖 11 arp 請求包的結(jié)構(gòu) 觀察報文內(nèi)容,前 48 個字節(jié)的 12 個 f 為目的地址,代表此為廣播包,后 48 個字節(jié)是 發(fā)送數(shù)據(jù)包的源地址,0 x0806 表示協(xié)議類型為 arp,0 x0001 表示硬件類型為 ethernet,下一 個 0 x0800 表示協(xié)議類型為 ip,后面的 6、4 分別表示硬件地址長度和協(xié)議地址長度。后面 的 0 x0001 表示報文類型為請求包。之后的 48 個字節(jié)表示發(fā)送者的 mac 地址,后面的 32 個字節(jié)的表示發(fā)送者的 ip 地址。再下面的 00 00 00 00 00

18、 00 表示目標(biāo) mac 地址,即為需 要解析得到的目標(biāo) mac 地址。最后的為 arp 目標(biāo)的 ip 是 10.0.0.2。 序號為 4 的包為 arp 應(yīng)答包。它的結(jié)構(gòu)如下: 圖 12 arp 應(yīng)答包的結(jié)構(gòu) 這個包和 arp 請求包不同的地方是:源地址是 arp 發(fā)送方的 mac 地址,而目標(biāo)地 址是響應(yīng)請求回復(fù)的地址。另外還有不同的地方就是圖中高亮顯示的地方:操作類型(回 復(fù)) 。 2.4.32.4.3 arparp 欺騙欺騙 實驗拓?fù)? 圖 13.arp 欺騙拓?fù)?其中 c1 為虛擬機(jī)里的 xp 系統(tǒng),c2 為系統(tǒng)里的虛擬網(wǎng)卡。利用免費 arp 來實現(xiàn) arp 欺 騙。首先 c1 與

19、r1fa0/1 連接,相互 ping 通后。r1 上的 arp 表: 圖 14.欺騙之前 arp 表 將 c2 與 r1 相連后,將 c2 的 ip 改為與 c1 相同,此時會發(fā)送免費 arp 包,達(dá)到 arp 欺 騙的效果。 使用 arp 欺騙之后的 arp 表: 圖 15.arp 欺騙之后 arp 表 現(xiàn)在不能 ping 通: 圖 16.欺騙后不能相互通信 第三章 ospf 路由協(xié)議驗證分析 3.13.1 實驗環(huán)境及工具介紹實驗環(huán)境及工具介紹 實驗環(huán)境仍然是上次實驗用的環(huán)境,一臺裝有 gns3、wireshark 和 sniffer 軟件的 pc 機(jī)。拓?fù)鋱D依舊不變。 圖 17 實驗拓?fù)?

20、3.23.2 實驗步驟及抓包結(jié)果分析實驗步驟及抓包結(jié)果分析 用 wireshark 觀察 r1 的 f0/1 接口,配置好 ospf 協(xié)議以后,將端口 no shut。觀察抓包: 圖 18 ospf 報文 在圖 18 中我們發(fā)現(xiàn)了 ospf5 種類型的報文,他們分別是: hello 包:形成鄰居關(guān)系,并?;?。 數(shù)據(jù)庫描述報文 dd ;描述自身的數(shù)據(jù)庫條目。 (只包含 lsa 頭部) lsa 請求報文 lsr:用于向鄰居請求自己缺省的 lsa 條目(只包含 lsa 頭部,缺 省的條目通過比較 dd 報文獲得。 ) lsa 更新報文 lsu:對請求報文的應(yīng)答,包含了完整的 lsa 條目。同時還具有

21、確認(rèn) 作用。 lsa 確認(rèn)報文:顯示的確認(rèn)自己收到了 lsa 更新報文。 r1 上 debug ip ospf events 輸出: *mar 1 00:25:14.819: ospf: send hello to 224.0.0.5 area 0 on fastethernet0/1 from 192.168.1.1 *mar 1 00:25:14.831: ospf: rcv hello from 2.2.2.2 area 0 from fastethernet0/1 192.168.1.2 *mar 1 00:25:14.835: ospf: 2 way communication to

22、 2.2.2.2 on fastethernet0/1, state 2way *mar 1 00:25:14.835: ospf: backup seen event before wait timer on fastethernet0/1 *mar 1 00:25:14.835: ospf: dr/bdr election on fastethernet0/1 *mar 1 00:25:14.835: ospf: elect bdr 1.1.1.1 *mar 1 00:25:14.835: ospf: elect dr 2.2.2.2 *mar 1 00:25:14.835: ospf:

23、elect bdr 1.1.1.1 *mar 1 00:25:14.839: ospf: elect dr 2.2.2.2 *mar 1 00:25:14.839: dr: 2.2.2.2 (id) bdr: 1.1.1.1 (id) *mar 1 00:25:14.839: ospf: send dbd to 2.2.2.2 on fastethernet0/1 seq 0 xd5b opt 0 x52 flag 0 x7 len 32 *mar 1 00:25:14.839: ospf: send immediate hello to nbr 2.2.2.2, src address 19

24、2.168.1.2, on fastethernet0/1 *mar 1 00:25:14.843: ospf: send hello r1#to 192.168.1.2 area 0 on fastethernet0/1 from 192.168.1.1 *mar 1 00:25:14.843: ospf: end of hello processing *mar 1 00:25:15.107: %sys-5-config_i: configured from console by console r1# *mar 1 00:25:16.803: %link-3-updown: interf

25、ace fastethernet0/1, changed state to up *mar 1 00:25:17.803: %lineproto-5-updown: line protocol on interface fastethernet0/1, changed state to up r1# *mar 1 00:25:19.839: ospf: send dbd to 2.2.2.2 on fastethernet0/1 seq 0 xd5b opt 0 x52 flag 0 x7 len 32 *mar 1 00:25:19.839: ospf: retransmitting dbd

26、 to 2.2.2.2 on fastethernet0/1 1 *mar 1 00:25:19.895: ospf: rcv dbd from 2.2.2.2 on fastethernet0/1 seq 0 xae1 opt 0 x52 flag 0 x7 len 32 mtu 1500 state exstart *mar 1 00:25:19.895: ospf: nbr negotiation done. we are the slave *mar 1 00:25:19.899: ospf: send dbd to 2.2.2.2 on fastethernet0/1 seq 0 x

27、ae1 opt 0 x52 flag 0 x2 len 52 *mar 1 00:25:19.963: ospf: rcv dbd from 2.2.2.2 on fastethernet0/1 seq 0 xae2 opt 0 x52 flag 0 x3 len 52 mtu 1500 state exchange *mar 1 00:25:19.963: ospf: send dbd to 2.2.2.2 on fastethernet0/1 seq 0 xae2 opt 0 x52 flag 0 x0 len 32 *mar 1 00:25:19.995: ospf: rcv dbd f

28、rom 2.2.2.2 on fastethernet0/1 seq 0 xae3 opt 0 x52 flag 0 x1 len 32 mtu 1500 state exchange *mar 1 00:25:19.995: ospf: exchange done with 2.2.2.2 on fastethernet0/1 *mar 1 00:25:19.995: ospf: send ls req to 2.2.2.2 length 12 lsa count 1 *ma r1#r 1 00:25:19.999: ospf: send dbd to 2.2.2.2 on fastethe

29、rnet0/1 seq 0 xae3 opt 0 x52 flag 0 x0 len 32 *mar 1 00:25:20.035: ospf: rcv ls req from 2.2.2.2 on fastethernet0/1 length 36 lsa count 1 *mar 1 00:25:20.035: ospf: send upd to 192.168.1.2 on fastethernet0/1 length 40 lsa count 1 *mar 1 00:25:20.051: ospf: rcv ls upd from 2.2.2.2 on fastethernet0/1

30、length 64 lsa count 1 *mar 1 00:25:20.051: ospf: synchronized with 2.2.2.2 on fastethernet0/1, state full *mar 1 00:25:20.051: %ospf-5-adjchg: process 1, nbr 2.2.2.2 on fastethernet0/1 from loading to full, loading done *mar 1 00:25:20.067: ospf: rcv ls upd from 2.2.2.2 on fastethernet0/1 length 64 lsa count 1 *mar 1 00:25:20.555: ospf: rcv ls upd from 2.2.2.2 on fastethernet0/1 length 64 lsa count 1 *mar 1 00:25:20.559: ospf: rcv ls upd

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論