![Wireshark抓包工具計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)解析_第1頁(yè)](http://file4.renrendoc.com/view/2888f47b2a89167278442c2b4273bf8d/2888f47b2a89167278442c2b4273bf8d1.gif)
![Wireshark抓包工具計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)解析_第2頁(yè)](http://file4.renrendoc.com/view/2888f47b2a89167278442c2b4273bf8d/2888f47b2a89167278442c2b4273bf8d2.gif)
![Wireshark抓包工具計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)解析_第3頁(yè)](http://file4.renrendoc.com/view/2888f47b2a89167278442c2b4273bf8d/2888f47b2a89167278442c2b4273bf8d3.gif)
![Wireshark抓包工具計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)解析_第4頁(yè)](http://file4.renrendoc.com/view/2888f47b2a89167278442c2b4273bf8d/2888f47b2a89167278442c2b4273bf8d4.gif)
![Wireshark抓包工具計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)解析_第5頁(yè)](http://file4.renrendoc.com/view/2888f47b2a89167278442c2b4273bf8d/2888f47b2a89167278442c2b4273bf8d5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)一Wireshark使用一、實(shí)驗(yàn)?zāi)康?、熟悉并掌握Wireshark的基本使用;2、了解網(wǎng)絡(luò)協(xié)議實(shí)體間進(jìn)行交互以及報(bào)文交換的情況。二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、預(yù)備知識(shí)要深入理解網(wǎng)絡(luò)協(xié)議,需要觀察它們的工作過(guò)程并使用它們,即觀察兩個(gè)協(xié)議實(shí)體之間交換的報(bào)文序列,探究協(xié)議操作的細(xì)節(jié),使協(xié)議實(shí)體執(zhí)行某些動(dòng)作,觀察這些動(dòng)作及其影響。這種觀察可以在仿真環(huán)境下或在因特網(wǎng)這樣的真實(shí)網(wǎng)絡(luò)環(huán)境中完成。Wireshark是一種可以運(yùn)行在Windows,UNIX,Linux等操作系統(tǒng)上的分組嗅探器,是一個(gè)開(kāi)源免費(fèi)軟件,可以從下載。運(yùn)行Wireshark程序時(shí),其圖形用戶(hù)界面如圖2所示。最初,各窗口中并無(wú)數(shù)據(jù)顯示。Wireshark的界面主要有五個(gè)組成部分:命令和菜單協(xié)議篩選框命令和菜單協(xié)議篩選框捕獲分組列表選定分組首部明細(xì)分組內(nèi)容左:十六進(jìn)制右:ASCII碼圖1命令菜單(commandmenus):命令菜單位于窗口的最頂部,是標(biāo)準(zhǔn)的下拉式菜單。協(xié)議篩選框(displayfilterspecification):在該處填寫(xiě)某種協(xié)議的名稱(chēng),Wireshark據(jù)此對(duì)分組列表窗口中的分組進(jìn)行過(guò)濾,只顯示你需要的分組。捕獲分組列表(listingofcapturedpackets):按行顯示已被捕獲的分組內(nèi)容,其中包括:分組序號(hào)、捕獲時(shí)間、源地址和目的地址、協(xié)議類(lèi)型、協(xié)議信息說(shuō)明。單擊某一列的列名,可以使分組列表按指定列排序。其中,協(xié)議類(lèi)型是發(fā)送或接收分組的最高層協(xié)議的類(lèi)型。分組首部明細(xì)(detailsofselectedpacketheader):顯示捕獲分組列表窗口中被選中分組的首部詳細(xì)信息。包括該分組的各個(gè)層次的首部信息,需要查看哪層信息,雙擊對(duì)應(yīng)層次或單擊該層最前面的“+”即可。分組內(nèi)容窗口(packetcontent):分別以十六進(jìn)制(左)和ASCII碼(右)兩種格式顯示被捕獲幀的完整內(nèi)容。四、實(shí)驗(yàn)步驟啟動(dòng)Web瀏覽器(如IE);啟動(dòng)Wireshark;開(kāi)始分組捕獲:?jiǎn)螕艄ぞ邫诘陌粹o,出現(xiàn)如圖3所示對(duì)話(huà)框,[options]按鈕可以進(jìn)行系統(tǒng)參數(shù)設(shè)置,在絕大部分實(shí)驗(yàn)中,使用系統(tǒng)的默認(rèn)設(shè)置即可。當(dāng)計(jì)算機(jī)具有多個(gè)網(wǎng)卡時(shí),選擇其中發(fā)送或接收分組的網(wǎng)絡(luò)接口(本例中,第一塊網(wǎng)卡為虛擬網(wǎng)卡,第二塊為以太網(wǎng)卡)。單擊“Start”開(kāi)始進(jìn)行分組捕獲;圖3在運(yùn)行分組捕獲的同時(shí),在瀏覽器地址欄中輸入某個(gè)網(wǎng)頁(yè)的URL,如:http://當(dāng)完整的頁(yè)面下載完成后,單擊捕獲對(duì)話(huà)框中的“stop”按鈕,停止分組捕獲。此時(shí),Wireshark主窗口顯示已捕獲的你本次通信的所有協(xié)議報(bào)文;在協(xié)議篩選框中輸入“http”,單擊“apply”按鈕,分組列表窗口將只顯示HTTP協(xié)議報(bào)文。選擇分組列表窗口中的第一條http報(bào)文,它是你的計(jì)算機(jī)發(fā)向服務(wù)器()的HTTPGET報(bào)文。當(dāng)你選擇該報(bào)文后,以太網(wǎng)幀、IP數(shù)據(jù)報(bào)、TCP報(bào)文段、以及HTTP報(bào)文首部信息都將顯示在分組首部子窗口中,其結(jié)果如圖4。圖4五、實(shí)驗(yàn)報(bào)告內(nèi)容在實(shí)驗(yàn)基礎(chǔ)上,回答以下問(wèn)題:列出在第5步中分組列表子窗口所顯示的所有協(xié)議類(lèi)型;從發(fā)出HTTPGET報(bào)文到接收到對(duì)應(yīng)的HTTPOK響應(yīng)報(bào)文共需要多長(zhǎng)時(shí)間?(分組列表窗口中Time列的值是從Wireshark開(kāi)始追蹤到分組被捕獲的總的時(shí)間數(shù),以秒為單位)你主機(jī)的IP地址是什么?你訪問(wèn)的服務(wù)器的IP地址是什么?
實(shí)驗(yàn)二使用Wireshark分析以太網(wǎng)幀與ARP協(xié)議一、實(shí)驗(yàn)?zāi)康姆治鲆蕴W(wǎng)幀,MAC地址和ARP協(xié)議二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng);主機(jī)操作系統(tǒng)為windows;使用Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟:IP地址用于標(biāo)識(shí)因特網(wǎng)上每臺(tái)主機(jī),而端口號(hào)則用于區(qū)別在同一臺(tái)主機(jī)上運(yùn)行的不同網(wǎng)絡(luò)應(yīng)用程序。在鏈路層,有介質(zhì)訪問(wèn)控制(MediaAccessControl,MAC)地址。在局域網(wǎng)中,每個(gè)網(wǎng)絡(luò)設(shè)備必須有唯一的MAC地址。設(shè)備監(jiān)聽(tīng)共享通信介質(zhì)以獲取目標(biāo)MAC地址與自己相匹配的分組。Wireshark能把MAC地址的組織標(biāo)識(shí)轉(zhuǎn)化為代表生產(chǎn)商的字符串,例如,00:06:5b:e3:4d:1a也能以Dell:e3:4d:1a顯示,因?yàn)榻M織唯一標(biāo)識(shí)符00:06:5b屬于Dell。地址ff:ff:ff:ff:ff:ff是一個(gè)特殊的MAC地址,意味著數(shù)據(jù)應(yīng)該廣播到局域網(wǎng)的所有設(shè)備。在因特網(wǎng)上,IP地址用于主機(jī)間通信,無(wú)論它們是否屬于同一局域網(wǎng)。同一局域網(wǎng)間主機(jī)間數(shù)據(jù)傳輸前,發(fā)送方首先要把目的IP地址轉(zhuǎn)換成對(duì)應(yīng)的MAC地址。這通過(guò)地址解析協(xié)議ARP實(shí)現(xiàn)。每臺(tái)主機(jī)以ARP高速緩存形式維護(hù)一張已知IP分組就放在鏈路層幀的數(shù)據(jù)部分,而幀的目的地址將被設(shè)置為ARP高速緩存中找到的MAC地址。如果沒(méi)有發(fā)現(xiàn)IP地址的轉(zhuǎn)換項(xiàng),那么本機(jī)將廣播一個(gè)報(bào)文,要求具有此IP地址的主機(jī)用它的MAC地址作出響應(yīng)。具有該IP地址的主機(jī)直接應(yīng)答請(qǐng)求方,并且把新的映射項(xiàng)填入ARP高速緩存。發(fā)送分組到本地網(wǎng)外的主機(jī),需要跨越一組獨(dú)立的本地網(wǎng),這些本地網(wǎng)通過(guò)稱(chēng)為網(wǎng)關(guān)或路由器的中間機(jī)器連接。網(wǎng)關(guān)有多個(gè)網(wǎng)絡(luò)接口卡,用它們同時(shí)連接多個(gè)本地網(wǎng)。最初的發(fā)送者或源主機(jī)直接通過(guò)本地網(wǎng)發(fā)送數(shù)據(jù)到本地網(wǎng)關(guān),網(wǎng)關(guān)轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)到其它網(wǎng)關(guān),直到最后到達(dá)目的主機(jī)所在的本地網(wǎng)的網(wǎng)關(guān)。1、俘獲和分析以太網(wǎng)幀(1)選擇工具->Internet選項(xiàng)->刪除文件(2)啟動(dòng)Wireshark分組嗅探器(3)在瀏覽器地址欄中輸入如下網(wǎng)址:會(huì)出現(xiàn)美國(guó)權(quán)利法案。(4)停止分組俘獲。在俘獲分組列表中(listingofcapturedpackets)中找到HTTPGET信息和響應(yīng)信息,如圖1所示。(如果你無(wú)法俘獲此分組,在Wireshark下打開(kāi)文件名為ethernet--ethereal-trace-1的文件進(jìn)行學(xué)習(xí))。HTTPGET信息被封裝在TCP分組中,TCP分組又被封裝在IP數(shù)據(jù)報(bào)中,IP數(shù)據(jù)報(bào)又被封裝在以太網(wǎng)幀中)。在分組明細(xì)窗口中展開(kāi)EthernetII信息(packetdetailswindow)?;卮鹣旅娴膯?wèn)題:1、你所在的主機(jī)48-bitEthernet地址是多少?2、Ethernet幀中目的地址是多少?這個(gè)目的地址是的Ethernet地址嗎?圖1HTTPGET信息和響應(yīng)信息2、分析地址ARP協(xié)議(1)ARPCachingARP協(xié)議用于將目的IP轉(zhuǎn)換為對(duì)應(yīng)的MAC地址。Arp命令用來(lái)觀察和操作緩存中的內(nèi)容。雖然arp命令和ARP有一樣的名字,很容易混淆,但它們的作用是不同的。在命令提示符下輸入arp可以看到在你所在電腦中ARP緩存中的內(nèi)容。為了觀察到你所在電腦發(fā)送和接收ARP信息,我們需要清除ARP緩存,否則你所在主機(jī)很容易找到已知IP和匹配的MAC地址。步驟如下:(1)清除ARPcache,具體做法:在MSDOS環(huán)境下,輸入命令arp–d*command,The–d表示清除操作,*刪除alltableentries.(2)選擇工具->Internet選項(xiàng)->刪除文件(3)啟動(dòng)Wireshark分組俘獲器(4)在瀏覽器地址欄中輸入如下網(wǎng)址:(5)停止分組俘獲。(6)選擇Analyze->EnabledProtocols->取消IP選項(xiàng)->選擇OK。如圖3所示:圖3利用Wireshark俘獲的ARP分組四、實(shí)驗(yàn)報(bào)告根據(jù)實(shí)驗(yàn),回答下面問(wèn)題:由于此實(shí)驗(yàn)是關(guān)于Ethernet和ARP的,所以,只需在分組俘獲列表中顯示IP層下面的協(xié)議,具體做法為:選擇Analyze->EnabledProtocols->不選擇IP協(xié)議->selectok如圖2所示:
實(shí)驗(yàn)三使用Wireshark分析IP協(xié)議一、實(shí)驗(yàn)?zāi)康?、分析IP協(xié)議2、分析IP數(shù)據(jù)報(bào)分片二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟IP協(xié)議是因特網(wǎng)上的中樞。它定義了獨(dú)立的網(wǎng)絡(luò)之間以什么樣的方式協(xié)同工作從而形成一個(gè)全球戶(hù)聯(lián)網(wǎng)。因特網(wǎng)內(nèi)的每臺(tái)主機(jī)都有IP地址。數(shù)據(jù)被稱(chēng)作數(shù)據(jù)報(bào)的分組形式從一臺(tái)主機(jī)發(fā)送到另一臺(tái)。每個(gè)數(shù)據(jù)報(bào)標(biāo)有源IP地址和目的IP地址,然后被發(fā)送到網(wǎng)絡(luò)中。如果源主機(jī)和目的主機(jī)不在同一個(gè)網(wǎng)絡(luò)中,那么一個(gè)被稱(chēng)為路由器的中間機(jī)器將接收被傳送的數(shù)據(jù)報(bào),并且將其發(fā)送到距離目的端最近的下一個(gè)路由器。這個(gè)過(guò)程就是分組交換。IP允許數(shù)據(jù)報(bào)從源端途經(jīng)不同的網(wǎng)絡(luò)到達(dá)目的端。每個(gè)網(wǎng)絡(luò)有它自己的規(guī)則和協(xié)定。IP能夠使數(shù)據(jù)報(bào)適應(yīng)于其途徑的每個(gè)網(wǎng)絡(luò)。例如,每個(gè)網(wǎng)絡(luò)規(guī)定的最大傳輸單元各有不同。IP允許將數(shù)據(jù)報(bào)分片并在目的端重組來(lái)滿(mǎn)足不同網(wǎng)絡(luò)的規(guī)定。在4_1_JoiningTheInternet下打開(kāi)已俘獲的分組,分組名為:dhcp_isolated.cap。感興趣的同學(xué)可以在有動(dòng)態(tài)分配IP的實(shí)驗(yàn)環(huán)境下俘獲此分組,此分組具體俘獲步驟如下:1、使用DHCP獲取IP地址(1)打開(kāi)命令窗口,啟動(dòng)Wireshark。(2)輸入“ipconfig/release”。這條命令會(huì)釋放主機(jī)目前的IP地址,此時(shí),主機(jī)IP地址會(huì)變?yōu)椋?)然后輸入“ipconfig/renew”命令。這條命令讓主機(jī)獲得一個(gè)網(wǎng)絡(luò)配置,包括新的IP地址。(4)等待,直到“ipconfig/renew”終止。然后再次輸入“ipconfig/renew”命令。(5)當(dāng)?shù)诙€(gè)命令“ipconfig/renew”終止時(shí),輸入命令“ipconfig/release”釋放原來(lái)的已經(jīng)分配的IP地址(6)停止分組俘獲。如圖1所示:圖1Wireshark俘獲的分組下面,我們對(duì)此分組進(jìn)行分析:IPconfig命令被用于顯示機(jī)器的IP地址及修改IP地址的配置。當(dāng)輸入命ipconfig/release命令時(shí),用來(lái)釋放機(jī)器的當(dāng)前IP地址。釋放之后,該機(jī)沒(méi)有有效的IP地址并在分組2中使用地址作為源地址。分組2是一個(gè)DHCPDiscover(發(fā)現(xiàn))報(bào)文,如圖2所示。當(dāng)一臺(tái)沒(méi)有IP地址的計(jì)算機(jī)申請(qǐng)IP地址時(shí)將發(fā)送該報(bào)文。DHCPDiscovery報(bào)文被發(fā)送給特殊的廣播地址:,該地址將到達(dá)某個(gè)限定廣播范圍內(nèi)所有在線的主機(jī)。理論上,能夠廣播到整個(gè)因特網(wǎng)上,但實(shí)際上并不能實(shí)現(xiàn),因?yàn)槁酚善鳛榱俗柚勾罅康恼?qǐng)求淹沒(méi)因特網(wǎng),不會(huì)將這樣的廣播發(fā)送到本地網(wǎng)之外。在DHCPDiscover報(bào)文中,客戶(hù)端包括自身的信息。特別是,它提供了自己的主機(jī)名(MATTHEWS)和其以太網(wǎng)接口的物理地址(00:07:e9:53:87:d9)。這些信息都被DHCP用來(lái)標(biāo)識(shí)一個(gè)已知的客戶(hù)端。DHCP服務(wù)器可以使用這些信息實(shí)現(xiàn)一系列的策略,比如,分配與上次相同的IP地址,分配一個(gè)上次不同的IP地址,或要求客戶(hù)端注冊(cè)其物理層地址來(lái)獲取IP地址。在DHCPDiscover報(bào)文中,客戶(hù)端還詳細(xì)列出了它希望從DHCP服務(wù)器接收到的信息。在ParameterRequestList中包含了除客戶(hù)端希望得到的本地網(wǎng)絡(luò)的IP地址之外的其他數(shù)據(jù)項(xiàng)。這些數(shù)據(jù)項(xiàng)中許多都是一臺(tái)即將連入因特網(wǎng)的計(jì)算機(jī)所需要的數(shù)據(jù)。例如,客戶(hù)端必須知道的本地路由器的標(biāo)識(shí)。任何目的地址不在本地網(wǎng)的數(shù)據(jù)報(bào)都將發(fā)送到這臺(tái)路由器上。也就是說(shuō),這是發(fā)向外網(wǎng)的數(shù)據(jù)報(bào)在通向目的端的路徑上遇到的第一臺(tái)中間路由器。圖2DHCPDiscovery客戶(hù)端必須知道自己的子網(wǎng)掩碼。子網(wǎng)掩碼是一個(gè)32位的數(shù),用來(lái)與IP地址進(jìn)行“按圖2ParameterRequestList位邏輯與運(yùn)算”從而得出網(wǎng)絡(luò)地址。所有可以直接通信而不需要路由器參與的機(jī)器都有相同的網(wǎng)絡(luò)地址。因此,子網(wǎng)掩碼用來(lái)決定數(shù)據(jù)報(bào)是發(fā)送到本地路由器還是直接發(fā)送到本地目的主機(jī)??蛻?hù)端還必須知道它們的域名和它們?cè)诒镜赜蛎?wù)器上的標(biāo)識(shí)。域名是一個(gè)可讀的網(wǎng)絡(luò)名。IP地址為的DHCP服務(wù)器回復(fù)了一個(gè)DHCPOFFER報(bào)文。該報(bào)文也廣播到,因?yàn)楸M管客戶(hù)端還不知道自己的IP地址,但它將接收到發(fā)送到廣播地址的報(bào)文。這個(gè)報(bào)文中包含了客戶(hù)端請(qǐng)求的信息,包括IP地址、本地路由器、子網(wǎng)掩碼、域名和本地域名服務(wù)器。在分組5中,客戶(hù)端通過(guò)發(fā)送DHCPRequest(請(qǐng)求)報(bào)文表明自己接收到的IP地址。最后,在分組6中DHCP服務(wù)器確認(rèn)請(qǐng)求的地址并結(jié)束對(duì)話(huà)。此后,在分組7中客戶(hù)端開(kāi)始使用它的新的IP地址作為源地址。在分組3和分組7到12的地址ARP協(xié)議引起了我們的注意。在分組3中,DHCP服務(wù)器詢(xún)問(wèn)是否有其它主機(jī)使用IP地址(該請(qǐng)求被發(fā)送到廣播地址)。這就允許DHCP服務(wù)器在分配IP之前再次確認(rèn)沒(méi)有其它主機(jī)使用該IP地址。在獲取其IP地址之后,客戶(hù)端會(huì)發(fā)送3個(gè)報(bào)文詢(xún)問(wèn)其他主機(jī)是否有與自己相同的IP地址。前4個(gè)ARP請(qǐng)求都沒(méi)有回應(yīng)。在分組10—13中,DHCP服務(wù)器再次詢(xún)問(wèn)哪個(gè)主機(jī)擁有IP地址,客戶(hù)端兩次回答它占有該IP同時(shí)提供了自己的以太網(wǎng)地址。通過(guò)DHCP分配的IP地址有特定的租用時(shí)間。為了保持對(duì)某個(gè)IP的租用,客戶(hù)端必須更新租用期。當(dāng)輸入第二個(gè)命令ipconfig/renew后,在分組14和15中就會(huì)看到更新租用期的過(guò)程。DHCPRequest請(qǐng)求更新租用期。DHCPACK包括租用期的長(zhǎng)度。如果在租用期到期之前沒(méi)有DHCPRequest發(fā)送,DHCP服務(wù)器有權(quán)將該IP地址重新分配給其他主機(jī)。最后,在分組16時(shí)輸入命令ipconfig/release后的結(jié)果。在DHCP服務(wù)器接收到這個(gè)報(bào)文后,客戶(hù)停止對(duì)該IP的使用。如有需要DHCP服務(wù)器有權(quán)重新對(duì)IP地址進(jìn)行分配。2、分析IPv4中的分片在第二個(gè)實(shí)驗(yàn)中,我們將考察IP數(shù)據(jù)報(bào)首部。俘獲此分組的步驟如下:?jiǎn)?dòng)Wireshark,開(kāi)始分組俘獲(“Capture”-----“interface…”----“start”)。啟動(dòng)pingplotter(pingplotter的下載地址為),在“Addresstotrace:”下面的輸入框里輸入目的地址,選擇菜單欄“Edit”---“Options”---“Packet”,在“Packetsize(inbytesdefaults=56):”右邊輸入IP數(shù)據(jù)報(bào)大小:5000,按下“OK”。最后按下按鈕“Trace”,你將會(huì)看到pingplotter窗口顯示如下內(nèi)容,如圖3所示:圖3pingplotter停止Wireshark。設(shè)置過(guò)濾方式為:IP,在Wireshark窗口中將會(huì)看到如下情形,如圖4所示。在分組俘獲中,你應(yīng)該可以看到一系列你自己電腦發(fā)送的“ICMPEchoRequest”和由中間路由器返回到你電腦的“ICMPTTL-exceededmessages。圖4用Wireshark所俘獲的分組如果你無(wú)法得到上圖的分組信息,也可使用已經(jīng)下載的IP分片分組文件:fragment_5000_isolated.cap。然后在Wireshark中,選擇菜單欄“File”---“Open”導(dǎo)入上述文件進(jìn)行學(xué)習(xí)。下面,我們來(lái)分析fragment_5000_isolated.cap中的具體分組:IP層位于傳輸層和鏈路層之間。在fragment_5000_isolated.cap中傳輸層協(xié)議是UDP,鏈路層協(xié)議是以太網(wǎng)。發(fā)送兩個(gè)UDP數(shù)據(jù)報(bào),每個(gè)包含5000個(gè)字節(jié)的數(shù)據(jù)部分和8字節(jié)的UDP首部。在分組1到4和分組5到8分別代表了先后發(fā)送的兩個(gè)UDP數(shù)據(jù)報(bào)。當(dāng)IP層接收到5008字節(jié)的UDP數(shù)據(jù)報(bào)時(shí),它的工作是將其作為IP數(shù)據(jù)報(bào)在以太網(wǎng)傳輸。以太網(wǎng)要求一次傳輸?shù)拈L(zhǎng)度不大于1514個(gè)字節(jié),其中有14字節(jié)是以太網(wǎng)幀首部。IP被迫將UDP數(shù)據(jù)報(bào)作為多個(gè)分片發(fā)送。每個(gè)分片必須包含以太網(wǎng)幀首部、IP數(shù)據(jù)報(bào)首部。每個(gè)分片還會(huì)包含UDP數(shù)據(jù)報(bào)的有效負(fù)載(首部和數(shù)據(jù))的一部分。IP將原始數(shù)據(jù)報(bào)的前1480個(gè)字節(jié)(含1472個(gè)字節(jié)的數(shù)據(jù)和含8個(gè)字節(jié)的UDP首部)放在第一個(gè)分片中。后面兩個(gè)分片每個(gè)均含1480個(gè)字節(jié)的數(shù)據(jù),最后一個(gè)分片中包含的數(shù)據(jù)為568個(gè)字節(jié))。為了讓接收段重組原始數(shù)據(jù),IP使用首部的特殊字段對(duì)分片進(jìn)行了編號(hào)。標(biāo)識(shí)字段用于將所有的分片連接在一起。分組1到4含有相同的標(biāo)識(shí)號(hào)0xfd2b,分組5到8的標(biāo)識(shí)號(hào)是0xfd2c.片漂移量指明了分組中數(shù)據(jù)的第一個(gè)字節(jié)在UDP數(shù)據(jù)報(bào)中的偏移量。例如分組1和分組5的偏移量都是0,因?yàn)樗鼈兌际堑谝粋€(gè)分片。最后在標(biāo)識(shí)字段中有一位用來(lái)指明這個(gè)分片后是否還有分片。分組1到分組3和分組5到分組7均對(duì)該位置進(jìn)行了置位。分組4和分組8由于是最后一個(gè)分片而沒(méi)有對(duì)該位置位。四、實(shí)驗(yàn)報(bào)告內(nèi)容打開(kāi)文件dhcp_isolated.cap、fragment_5000_isolated.cap,回答以下問(wèn)題:1、DHCP服務(wù)器廣播的本地路由器或默認(rèn)網(wǎng)關(guān)的IP地址是多少?2、在dhcp_isolated.cap中,由DHCP服務(wù)器分配的域名是多少?3、在fragment_5000_isolated.cap中,我們看到通過(guò)UDP數(shù)據(jù)報(bào)發(fā)送的5000字節(jié)被分成了多少分片?在網(wǎng)絡(luò)中,一次能傳輸且不需要分片的最大數(shù)據(jù)單元有多大?
實(shí)驗(yàn)四利用Wireshark分析ICMP和DHCP協(xié)議一、實(shí)驗(yàn)?zāi)康姆治鯥CMP和DHCP協(xié)議二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟Ping和traceroute命令都依賴(lài)于ICMP。ICMP可以看作是IP協(xié)議的伴隨協(xié)議。ICMP報(bào)文被封裝在IP數(shù)據(jù)報(bào)發(fā)送。一些ICMP報(bào)文會(huì)請(qǐng)求信息。例如:在ping中,一個(gè)ICMP回應(yīng)請(qǐng)求報(bào)文被發(fā)送給遠(yuǎn)程主機(jī)。如果對(duì)方主機(jī)存在,期望它們返回一個(gè)ICMP回應(yīng)應(yīng)答報(bào)文。一些ICMP報(bào)文在網(wǎng)絡(luò)層發(fā)生錯(cuò)誤時(shí)發(fā)送。例如,有一種ICMP報(bào)文類(lèi)型表示目的不可達(dá)。造成不可達(dá)的原因很多,ICMP報(bào)文試圖確定這一問(wèn)題。例如,可能是主機(jī)關(guān)及或整個(gè)網(wǎng)絡(luò)連接斷開(kāi)。有時(shí)候,主機(jī)本身可能沒(méi)有問(wèn)題,但不能發(fā)送數(shù)據(jù)報(bào)。例如IP首部有個(gè)協(xié)議字段,它指明了什么協(xié)議應(yīng)該處理IP數(shù)據(jù)報(bào)中的數(shù)據(jù)部分。IANA公布了代表協(xié)議的數(shù)字的列表。例如,如果該字段是6,代表TCP報(bào)文段,IP層就會(huì)把數(shù)據(jù)傳給TCP層進(jìn)行處理;如果該字段是1,則代表ICMP報(bào)文,IP層會(huì)將該數(shù)據(jù)傳給ICMP處理。如果操作系統(tǒng)不支持到達(dá)數(shù)據(jù)報(bào)中協(xié)議字段的協(xié)議號(hào),它將返回一個(gè)指明“協(xié)議不可達(dá)”的ICMP報(bào)文。IANA同樣公布了ICMP報(bào)文類(lèi)型的清單。Traceroute是基于ICMP的靈活用法和IP首部的生存時(shí)間字段的。發(fā)送數(shù)據(jù)報(bào)時(shí)生存時(shí)間字段被初始化為能夠穿越網(wǎng)絡(luò)的最大跳數(shù)。每經(jīng)過(guò)一個(gè)中間節(jié)點(diǎn),該數(shù)字減1。當(dāng)該字段為0時(shí),保存該數(shù)據(jù)報(bào)的機(jī)器將不再轉(zhuǎn)發(fā)它。相反,它將向源IP地址發(fā)送一個(gè)ICMP生存時(shí)間超時(shí)報(bào)文。生存時(shí)間字段用于避免數(shù)據(jù)報(bào)載網(wǎng)絡(luò)上無(wú)休止地傳輸下去。數(shù)據(jù)報(bào)的發(fā)送路徑是由中間路由器決定的。通過(guò)與其他路由器交換信息,路由器決定數(shù)據(jù)報(bào)的下一條路經(jīng)。最好的“下一跳”經(jīng)常由于網(wǎng)絡(luò)環(huán)境的變化而動(dòng)態(tài)改變。這可能導(dǎo)致路由器形成選路循環(huán)也會(huì)導(dǎo)致正確路徑?jīng)_突。在路由循環(huán)中這種情況很可能發(fā)生。例如,路由器A認(rèn)為數(shù)據(jù)報(bào)應(yīng)該發(fā)送到路由器B,而路由器B又認(rèn)為該數(shù)據(jù)報(bào)應(yīng)該發(fā)送會(huì)路由器A,這是數(shù)據(jù)報(bào)便處于選路循環(huán)中。生存時(shí)間字段長(zhǎng)為8位,所以因特網(wǎng)路徑的最大長(zhǎng)度為28-1即255跳。大多數(shù)源主機(jī)將該值初始化為更小的值(如128或64)。將生存時(shí)間字段設(shè)置過(guò)小可能會(huì)使數(shù)據(jù)報(bào)不能到達(dá)遠(yuǎn)程目的主機(jī),而設(shè)置過(guò)大又可能導(dǎo)致處于無(wú)限循環(huán)的選路中。Traceroute利用生存時(shí)間字段來(lái)映射因特網(wǎng)路徑上的中間節(jié)點(diǎn)。為了讓中間節(jié)點(diǎn)發(fā)送ICMP生存時(shí)間超時(shí)報(bào)文,從而暴露節(jié)點(diǎn)本身信息,可故意將生存時(shí)間字段設(shè)置為一個(gè)很小的書(shū)。具體來(lái)說(shuō),首先發(fā)送一個(gè)生存時(shí)間字段為1的數(shù)據(jù)報(bào),收到ICMP超時(shí)報(bào)文,然后通過(guò)發(fā)送生存時(shí)間字段設(shè)置為2的數(shù)據(jù)報(bào)來(lái)重復(fù)上述過(guò)程,直到發(fā)送ICMP生存時(shí)間超時(shí)報(bào)文的機(jī)器是目的主機(jī)自身為止。因?yàn)樵诜纸M交換網(wǎng)絡(luò)中每個(gè)數(shù)據(jù)報(bào)時(shí)獨(dú)立的,所以由traceroute發(fā)送的每個(gè)數(shù)據(jù)報(bào)的傳送路徑實(shí)際上互不相同。認(rèn)識(shí)到這一點(diǎn)很重要。每個(gè)數(shù)據(jù)報(bào)沿著一條路經(jīng)對(duì)中間節(jié)點(diǎn)進(jìn)行取樣,因此traceroute可能暗示一條主機(jī)間并不存在的連接。因特網(wǎng)路徑經(jīng)常變動(dòng)。在不同的日子或一天的不同時(shí)間對(duì)同一個(gè)目的主機(jī)執(zhí)行幾次traceroute命令來(lái)探尋這種變動(dòng)都會(huì)得到不同的結(jié)果。為了體現(xiàn)Internet路由的有限可見(jiàn)性,許多網(wǎng)絡(luò)都維護(hù)了一個(gè)traceroute服務(wù)器traceroute。Traceroute服務(wù)器將顯示出從本地網(wǎng)到一個(gè)特定目的地執(zhí)行traceroute的結(jié)果。分布于全球的traceroute服務(wù)器的相關(guān)信息可在上獲得。1、ping和ICMP利用Ping程序產(chǎn)生ICMP分組。Ping向因特網(wǎng)中的某個(gè)特定主機(jī)發(fā)送特殊的探測(cè)報(bào)文并等待表明主機(jī)在線的回復(fù)。具體做法:(1)打開(kāi)Windows命令提示符窗口(WindowsCommandPrompt)。(2)啟動(dòng)Wireshark分組嗅探器,在過(guò)濾顯示窗口(filterdisplaywindow)中輸入icmp,開(kāi)始Wireshark分組俘獲。(3)輸入“ping–n10hostname”。其中“-n10”指明應(yīng)返回10條ping信息。(4)當(dāng)ping程序終止時(shí),停止Wireshark分組俘獲。實(shí)驗(yàn)結(jié)束后會(huì)出現(xiàn)如圖所示的命令窗口:圖1命令窗口停止分組俘獲后,會(huì)出現(xiàn)如圖2所示的界面:圖2停止分組俘獲后Wireshark的界面圖3是在分組內(nèi)容窗口中顯示了ICMP協(xié)議的詳細(xì)信息。觀察這個(gè)ICMP分組,可以看出,此ICMP分組的Type8andCode0即所謂的ICMP“echorequest”分組。圖3ICMP協(xié)議詳細(xì)信息在實(shí)驗(yàn)報(bào)告中回答下面問(wèn)題:(1)你所在主機(jī)的IP地址是多少?目的主機(jī)的IP地址是多少?(2)查看ping請(qǐng)求分組,ICMP的type和code是多少?(3)查看相應(yīng)得ICMP響應(yīng)信息,ICMP的type和code又是多少?2.ICMP和Traceroute在Wireshark下,用Traceroute程序俘獲ICMP分組。Traceroute能夠映射出通往特定的因特網(wǎng)主機(jī)途徑的所有中間主機(jī)。源端發(fā)送一串ICMP分組到目的端。發(fā)送的第一個(gè)分組時(shí),TTL=1;發(fā)送第二個(gè)分組時(shí),TTL=2,依次類(lèi)推。路由器把經(jīng)過(guò)它的每一個(gè)分組TTL字段值減1。當(dāng)一個(gè)分組到達(dá)了路由器時(shí)的TTL字段為1時(shí),路由器會(huì)發(fā)送一個(gè)ICMP錯(cuò)誤分組(ICMPerrorpacket)給源端。啟動(dòng)Window命令提示符窗口啟動(dòng)Wireshark分組嗅探器,開(kāi)始分組俘獲。(3)Tracert命令在c:\windows\system32下,所以在MS-DOS命令提示行或者輸入“tracerthostname”or“c:\windows\system32\tracerthostname”(注意在Windows下,命令是“tracert”而不是“traceroute”。)如圖4所示:(4)當(dāng)Traceroute程序終止時(shí),停止分組俘獲。圖4命令提示窗口顯示Traceroute程序結(jié)果圖5顯示的是一個(gè)路由器返回的ICMP錯(cuò)誤分組(ICMPerrorpacket)。注意到ICMP錯(cuò)誤分組中包括的信息比PingICMP中錯(cuò)誤分組包含的信息多。圖5一個(gè)擴(kuò)展ICMP錯(cuò)誤分組信息的Wireshark窗口在實(shí)驗(yàn)報(bào)告中回答下面問(wèn)題:查看ICMPecho分組,是否這個(gè)分組和前面使用ping命令的ICMPecho一樣?查看ICMP錯(cuò)誤分組,它比ICMPecho分組包括的信息多。ICMP錯(cuò)誤分組比ICMPecho分組多包含的信息有哪些?3、分析DHCP為了觀察到DHCP的運(yùn)行機(jī)制,我們會(huì)執(zhí)行與DHCP相關(guān)的命令,同時(shí)俘獲DHCP信息。(1)啟動(dòng)Windows命令提示符窗口,輸入“ipconfig/release”。這條命令會(huì)釋放主機(jī)目前的IP地址,此時(shí),主機(jī)IP地址會(huì)變?yōu)椋?)啟動(dòng)Wireshark分組俘獲,開(kāi)始分組俘獲。(3)現(xiàn)在回到Windows命令提示符窗口,輸入“ipconfig/renew”命令。這條命令讓主機(jī)獲得一個(gè)網(wǎng)絡(luò)配置,包括新的IP地址。(4)等待,直到“ipconfig/renew”終止。然后再次輸入“ipconfig/renew”命令。(5)當(dāng)?shù)诙€(gè)命令“ipconfig/renew”終止時(shí),輸入命令“ipconfig/release”釋放原來(lái)的已經(jīng)分配的IP地址。(6)最后,輸入“ipconfig/renew”再一次給你的I主機(jī)分配IP地址。(7)停止分組俘獲。如圖6所示:圖6輸入上述ipconfig命令后的命令提示窗口為了只看到DHCP分組,在filterfield中輸入“bootp”。(DHCP是從BOOTP協(xié)議產(chǎn)生的)。BOOTP和DHCP使用同樣的端口號(hào),67和68。從圖二中可以看出,第一個(gè)ipconfigrenew命令產(chǎn)生四個(gè)DHCP分組:aDHCPDiscoverpacket,aDHCPOfferpacket,aDHCPRequestpacket,andaDHCPACKpacket.圖7Wireshark窗口中第一個(gè)DHCP分組—DHCPDiscoverpacket的擴(kuò)展四、實(shí)驗(yàn)報(bào)告回答下列問(wèn)題:1、DHCP是基于UDP還是TCP發(fā)送的?2、連接層的IP地址是多少?3、DHCP服務(wù)器的IP地址是多少?
實(shí)驗(yàn)五使用Wireshark分析TCP協(xié)議一、實(shí)驗(yàn)?zāi)康姆治鯰CP協(xié)議二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟1、TCP介紹(1)連接建立:TCP連接通過(guò)稱(chēng)為三次握手的三條報(bào)文來(lái)建立的。在Wireshark中選擇open->file,選擇文件tcp_pcattcp_n1.cap,其中分組3到5顯示的就是三次握手。第一條報(bào)文沒(méi)有數(shù)據(jù)的TCP報(bào)文段,并將首部SYN位設(shè)置為1。因此,第一條報(bào)文常被稱(chēng)為SYN分組。這個(gè)報(bào)文段里的序號(hào)可以設(shè)置成任何值,表示后續(xù)報(bào)文設(shè)定的起始編號(hào)。連接不能自動(dòng)從1開(kāi)始計(jì)數(shù),選擇一個(gè)隨機(jī)數(shù)開(kāi)始計(jì)數(shù)可避免將以前連接的分組錯(cuò)誤地解釋為當(dāng)前連接的分組。觀察分組3,Wireshark顯示的序號(hào)是0。選擇分組首部的序號(hào)字段,原始框中顯示“94f22ebe”。Wireshark顯示的是邏輯序號(hào),真正的初始序號(hào)不是0。如圖1所示:圖1:邏輯序號(hào)與實(shí)際初始序號(hào)SYN分組通常是從客戶(hù)端發(fā)送到服務(wù)器。這個(gè)報(bào)文段請(qǐng)求建立連接。一旦成功建立了連接,服務(wù)器進(jìn)程必須已經(jīng)在監(jiān)聽(tīng)SYN分組所指示的IP地址和端口號(hào)。如果沒(méi)有建立連接,SYN分組將不會(huì)應(yīng)答。如果第一個(gè)分組丟失,客戶(hù)端通常會(huì)發(fā)送若干SYN分組,否則客戶(hù)端將會(huì)停止并報(bào)告一個(gè)錯(cuò)誤給應(yīng)用程序。如果服務(wù)器進(jìn)程正在監(jiān)聽(tīng)并接收到來(lái)的連接請(qǐng)求,它將以一個(gè)報(bào)文段進(jìn)行相應(yīng),這個(gè)報(bào)文段的SYN位和ACK位都置為1。通常稱(chēng)這個(gè)報(bào)文段為SYNACK分組。SYNACK分組在確認(rèn)收到SYN分組的同時(shí)發(fā)出一個(gè)初始的數(shù)據(jù)流序號(hào)給客戶(hù)端。分組4的確認(rèn)號(hào)字段在Wireshark的協(xié)議框中顯示1,并且在原始框中的值是“94f22ebf”(比“94f22ebe”多1)。這解釋了TCP的確認(rèn)模式。TCP接收端確認(rèn)第X個(gè)字節(jié)已經(jīng)收到,并通過(guò)設(shè)置確認(rèn)號(hào)為X+1來(lái)表明期望收到下一個(gè)字節(jié)號(hào)。分組4的序號(hào)字段在Wireshark的協(xié)議顯示為0,但在原始框中的實(shí)際值卻是“84cabeb3”。這表明TCP連接的雙方會(huì)選擇數(shù)據(jù)流中字節(jié)的起始編號(hào)。所有初始序號(hào)邏輯上都視同為序號(hào)0。最后,客戶(hù)端發(fā)送帶有標(biāo)志ACK的TCP報(bào)文段,而不是帶SYN的報(bào)文段來(lái)完成三次握手的過(guò)程。這個(gè)報(bào)文段將確認(rèn)服務(wù)器發(fā)送的SYNACK分組,并檢查T(mén)CP連接的兩端是否正確打開(kāi)合運(yùn)行。(2)關(guān)閉連接當(dāng)兩端交換帶有FIN標(biāo)志的TCP報(bào)文段并且每一端都確認(rèn)另一端發(fā)送的FIN包時(shí),TCP連接將會(huì)關(guān)閉。FIN位字面上的意思是連接一方再也沒(méi)有更多新的數(shù)據(jù)發(fā)送。然而,那些重傳的數(shù)據(jù)會(huì)被傳送,直到接收端確認(rèn)所有的信息。在tcp_pcattcp_n1.cap中,通過(guò)分組13至16我們可以看到TCP連接被關(guān)閉。2、TCP重傳當(dāng)一個(gè)TCP發(fā)送端傳輸一個(gè)報(bào)文段的同時(shí)也設(shè)置了一個(gè)重傳計(jì)時(shí)器。當(dāng)確認(rèn)到達(dá)時(shí),這個(gè)計(jì)時(shí)器就自動(dòng)取消。如果在數(shù)據(jù)的確認(rèn)信息到達(dá)之前這個(gè)計(jì)時(shí)器超時(shí),那么數(shù)據(jù)就會(huì)重傳。重傳計(jì)時(shí)器能夠自動(dòng)靈活設(shè)置。最初TCP是基于初始的SYN和SYNACK之間的時(shí)間來(lái)設(shè)置重傳計(jì)時(shí)器的。它基于這個(gè)值多次設(shè)置重傳計(jì)時(shí)器來(lái)避免不必要的重傳。在整個(gè)TCP連接中,TCP都會(huì)注意每個(gè)報(bào)文段的發(fā)送和接到相應(yīng)的確認(rèn)所經(jīng)歷的時(shí)間。TCP在重傳數(shù)據(jù)之前不會(huì)總是等待一個(gè)重傳計(jì)算器超時(shí)。TCP也會(huì)把一系列重復(fù)確認(rèn)的分組當(dāng)作是數(shù)據(jù)丟失的征兆。在Wireshark中選擇file-〉open,打開(kāi)文件pcattcp_retrans_t.cap和pcattcp_retrans_r.cap,對(duì)所俘獲的分組進(jìn)行分析如下:SACK選項(xiàng)協(xié)商在上面的每次跟蹤中,我們能觀察建立連接的三次握手。在SYN分組中,發(fā)送端在TCP的首部選項(xiàng)中通過(guò)包括SACKpermitted選項(xiàng)來(lái)希望使用TCPSACK。在SYNACK包中接收端表示愿意使用SACK。這樣雙方都同意接收選擇性確認(rèn)信息。SACK選項(xiàng)如圖2所示:圖2SACK選項(xiàng)在TCPSACK選項(xiàng)中,如果連接的一端接收了失序數(shù)據(jù),它將使用選項(xiàng)區(qū)字段來(lái)發(fā)送關(guān)于失序數(shù)據(jù)起始和結(jié)束的信息。這樣允許發(fā)送端僅僅重傳丟失的數(shù)據(jù)。TCP接收端不能傳遞它們接收到的失序數(shù)據(jù)給處于等待狀態(tài)的應(yīng)用程序,因?yàn)樗偸莻鬟f有序數(shù)據(jù)。因此,接收到的失序數(shù)據(jù)要么被丟掉,要么被存儲(chǔ)起來(lái)。接收端的存儲(chǔ)空間是有限的,TCP發(fā)送端必須保存一份已發(fā)送的數(shù)據(jù)的副本,以防止數(shù)據(jù)需要重發(fā)。發(fā)送端必須保存數(shù)據(jù)直到它們收到數(shù)據(jù)的確認(rèn)信息為止。接收端通常會(huì)分配一個(gè)固定大小的緩沖區(qū)來(lái)存儲(chǔ)這些失序數(shù)據(jù)和需要等待一個(gè)應(yīng)用程序讀取的數(shù)據(jù)。如果緩沖區(qū)空間不能容納下更多數(shù)據(jù),那么接收端只有將數(shù)據(jù)丟棄,即使它是成功到達(dá)的。接收端的通知窗口字段用來(lái)通知發(fā)送端還有多少空間可以用于輸入數(shù)據(jù)。如果數(shù)據(jù)發(fā)送的速度快于應(yīng)用程序處理數(shù)據(jù)的速度,接收端就會(huì)發(fā)送一些信息來(lái)告知發(fā)送端其接收窗口正在減小。在這個(gè)跟蹤文件中,接收端通知窗口的大小是變化的,從16520個(gè)字節(jié)到17520個(gè)字節(jié)。TCP發(fā)送端在發(fā)送之前有一個(gè)容納數(shù)據(jù)的有限空間。然而,和接收端不同的是,發(fā)送端是限制自己的發(fā)送速率。如果緩沖區(qū)的空間滿(mǎn)了,嘗試寫(xiě)入更多數(shù)據(jù)的應(yīng)用程序?qū)⒈蛔枞钡接懈嗟目臻g可以利用為止。(2)分組的丟失與重傳用顯示過(guò)濾器搜索重傳。在pcattcp_retrans_t.cap中應(yīng)用該過(guò)濾器,在這個(gè)跟蹤文件中,我們看見(jiàn)分組12是這9次重傳的第一次。如圖所示3:圖3pcattcp_retrans_t.cap中9次重傳通過(guò)觀察分組12的細(xì)節(jié),我們發(fā)現(xiàn)序號(hào)是1001,我們發(fā)現(xiàn)分組5也有同樣的序號(hào)。有趣的是,分組5是對(duì)1001到2460號(hào)字節(jié)的傳輸,而分組12卻是對(duì)1001到2000號(hào)字節(jié)的重傳。分組20是對(duì)2001到2460號(hào)字節(jié)的重傳。分組4是對(duì)1到1000號(hào)字節(jié)的傳輸,分組5是對(duì)1001到2460號(hào)字節(jié)的傳輸,分組7是對(duì)2461到3920號(hào)字節(jié)的傳輸。我們已檢查了發(fā)送端上獲取的所有跟蹤記錄。我們從接收端的角度來(lái)看同一個(gè)連接,我們會(huì)發(fā)現(xiàn)有些不同。在pcattcp_retrans_r.cap中,我們發(fā)現(xiàn)1到1000號(hào)字節(jié)是在分組4里被傳送的,而2461到3920號(hào)字節(jié)是在分組6(而不是分組7)中被傳送的。在這個(gè)跟蹤文件中,分組5是1到1000號(hào)字節(jié)的確認(rèn)。我們沒(méi)有看到1001到2460號(hào)字節(jié)的傳輸。但是他們確實(shí)被傳輸送了,只是在發(fā)送端和接收端的某個(gè)環(huán)節(jié)丟失了。現(xiàn)在我們來(lái)看接收端是如何處理這些丟失字節(jié)的。在分組4達(dá)到以后,接收端會(huì)以確認(rèn)號(hào)1001(分組5)作為響應(yīng)。在分組6的2461到3920號(hào)字節(jié)達(dá)到之后,接收端仍然以確認(rèn)號(hào)1001(分組7)作為響應(yīng)。即使它接到的是附加數(shù)據(jù),確認(rèn)號(hào)仍然是它期望收到的下一個(gè)有序字節(jié)的序號(hào)。同樣在含有3921到5381號(hào)字節(jié)的分組8到達(dá)之后,接收端仍然以1001響應(yīng)。最后,1001到2000號(hào)字節(jié)被重傳。在這兩次跟蹤中,我們都在分組12里看到這種情況。于是接收端增加它的確認(rèn)號(hào)到2001。最終2001到2460號(hào)字節(jié)被重傳。在這次重傳之后,接收端可以立即從確認(rèn)字節(jié)2001跳到確認(rèn)字節(jié)11221。四、實(shí)驗(yàn)報(bào)告內(nèi)容在實(shí)驗(yàn)的基礎(chǔ)上,回答以下問(wèn)題:客戶(hù)服務(wù)器之間用于初始化TCP連接的TCPSYN報(bào)文段的序號(hào)(sequencenumber)是多少?在該報(bào)文段中,是用什么來(lái)標(biāo)識(shí)該報(bào)文段是SYN報(bào)文段的?服務(wù)器向客戶(hù)端發(fā)送的SYNACK報(bào)文段序號(hào)是多少?該報(bào)文段中,ACKnowledgement字段的值是多少?找出pcattcp_retrans_t.cap中所有在到達(dá)接收端之前丟失的分組。對(duì)于每個(gè)丟失的報(bào)文段,找出重傳分組(提示:找出第一個(gè)丟失的字節(jié)和重傳它們的分組).當(dāng)接收端發(fā)送一個(gè)TCP報(bào)文段來(lái)確認(rèn)收到的數(shù)據(jù)時(shí),這個(gè)報(bào)文段也可能丟失。在pcattcp_retrans_t.cap和pcattcp_retrans_r.cap中存在這樣的丟失嗎?你是怎么得到這樣的答案的?
實(shí)驗(yàn)六使用Wireshark分析UDP一、實(shí)驗(yàn)?zāi)康谋容^TCP和UDP協(xié)議的不同二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟1、打開(kāi)兩次TCP流的有關(guān)跟蹤記錄,保存在tcp_2transmit.cap中,并打開(kāi)兩次UDP流中的有關(guān)跟蹤文件udp_2transmit.cap。如圖所示:圖1TCP流跟蹤記錄圖2UDP流跟蹤記錄2、分析此數(shù)據(jù)包:(1)TCP傳輸?shù)恼?shù)據(jù):tcp_2transmit.cap文件的分組1到13中顯示了TCP連接。這個(gè)流中的大部分信息與前面的實(shí)驗(yàn)相同。我們?cè)诜纸M1到分組3中看到了打開(kāi)連接的三次握手。分組10到分組13顯示的則是連接的終止。我們看到分組10既是一個(gè)帶有FIN標(biāo)志的請(qǐng)求終止連接的分組,又是一個(gè)最后1080個(gè)字節(jié)的(序號(hào)是3921—5000)的重傳。TCP將應(yīng)用程序?qū)懭牒喜⒌揭粋€(gè)字節(jié)流中。它并不會(huì)嘗試維持原有應(yīng)用程序?qū)懭说倪吔缰怠N覀冏⒁獾絋CP并不會(huì)在單個(gè)分組中傳送1000字節(jié)的應(yīng)用程序?qū)懭?。?000個(gè)字節(jié)會(huì)在分組4種被發(fā)送,而分組5則包含了1460個(gè)字節(jié)的數(shù)據(jù)-----一些來(lái)自第二個(gè)緩沖區(qū),而另一些來(lái)自第三個(gè)緩沖區(qū)。分組7中含有1460個(gè)字節(jié)而分組8中則包含剩余的1080個(gè)字節(jié)。(5000-1000-1460-1460=1080)我們注意到實(shí)際報(bào)告上的2.48秒是從初始化連接的分組1開(kāi)始到關(guān)閉連接的分組10結(jié)束。分組11—13未必要計(jì)入接收端應(yīng)用程序的時(shí)間內(nèi),因?yàn)橐坏┙邮盏降谝粋€(gè)FIN,TCP層便馬上發(fā)送一個(gè)關(guān)閉連接的信號(hào)。分組11—13只可能由每臺(tái)計(jì)算機(jī)操作系統(tǒng)得TCP層后臺(tái)傳輸。如果我們注意到第一個(gè)包含數(shù)據(jù)的分組4和最后一個(gè)分組8之間的時(shí)間,我們就大約計(jì)算出和由UDP接收端所報(bào)告的0.01秒相同的時(shí)間。這樣的話(huà),增加TCP傳輸時(shí)間的主要原因就是分組10中的重傳。公平的說(shuō),UDP是幸運(yùn)的,因?yàn)樗械姆纸M都在第一時(shí)間被接受了。在這個(gè)跟蹤文件中,另一個(gè)值得注意的是沒(méi)有包含數(shù)據(jù)的分組的數(shù)量。所有來(lái)自接收端的分組和幾個(gè)來(lái)自發(fā)送端的分組只包含了TCP報(bào)文段的首部??偟膩?lái)說(shuō)(包括重傳)一共發(fā)送了6822個(gè)字節(jié)來(lái)支持5000個(gè)字節(jié)的數(shù)據(jù)傳輸。這個(gè)開(kāi)銷(xiāo)正好36﹪。(2)UDP正常數(shù)據(jù)傳輸現(xiàn)在我們來(lái)觀察UDP流,在udp_transmit.cap文件的分組1到分組11中顯示。雖然像TCP流那樣傳輸了相同的數(shù)據(jù),但是在這個(gè)跟蹤文件中還是很多的不同。和TCP不同,UDP是一個(gè)無(wú)連接的傳輸協(xié)議。TCP用SYN分組和SYNACK分組來(lái)顯示地打開(kāi)一個(gè)連接,而UDP卻直接開(kāi)始發(fā)送包含數(shù)據(jù)的分組。同樣,TCP用FIN分組和FINACK分組來(lái)顯示地關(guān)閉一個(gè)連接,而UDP卻只簡(jiǎn)單地停止包含數(shù)據(jù)的分組的傳輸。為了解決這個(gè)問(wèn)題,在文件udp_2transmit.cap俘獲的分組中,采取的辦法是ttcp發(fā)送端發(fā)送一個(gè)只包含4個(gè)字節(jié)的特殊UDP數(shù)據(jù)報(bào)來(lái)模擬連接建立和連接終止。在發(fā)送任何數(shù)據(jù)之前,發(fā)送端總是發(fā)送一個(gè)只包含4個(gè)字節(jié)的特殊數(shù)據(jù)報(bào)(分組1),而在發(fā)送完所有的數(shù)據(jù)之后,發(fā)送端又發(fā)送額外的5個(gè)分組(分組7-11)。接收端也使用第一個(gè)特殊的數(shù)據(jù)報(bào)來(lái)啟動(dòng)數(shù)據(jù)傳輸?shù)挠?jì)時(shí)器。如果這個(gè)特殊的數(shù)據(jù)報(bào)丟失了,它可能用真實(shí)數(shù)據(jù)的第一個(gè)分組計(jì)時(shí)器。不過(guò),如果接收端沒(méi)有看到這個(gè)特殊的數(shù)據(jù)報(bào),它就不能精確地確定數(shù)據(jù)傳輸?shù)拈_(kāi)始和傳輸?shù)乃袝r(shí)間。與TCP不同,UDP在傳輸?shù)臄?shù)據(jù)中,不會(huì)加上序號(hào),因此對(duì)于接收端來(lái)說(shuō)不可能確定丟失和重排序重傳的情況。類(lèi)似的,接收端根據(jù)最后的特殊數(shù)據(jù)報(bào)來(lái)停止數(shù)據(jù)傳輸計(jì)時(shí)器。當(dāng)接收端接收到這5個(gè)包中的任一個(gè)便停止計(jì)時(shí),但是發(fā)送5個(gè)分組是因?yàn)樵趥鬏數(shù)倪^(guò)程中可能丟失其中的一些。如果5個(gè)分組全部丟失了,那么接收端便會(huì)無(wú)限制的等待更多數(shù)據(jù)的到來(lái)達(dá)。實(shí)際數(shù)據(jù)的傳輸是在分組2-6里。每一個(gè)分組都包含1000個(gè)字節(jié)。1000個(gè)字節(jié)的應(yīng)用程學(xué)寫(xiě)入直接轉(zhuǎn)換成UDP數(shù)據(jù)報(bào)。另一方面,TCP并不打算保存應(yīng)用程序?qū)懭脒吔缍皇菍⑺鼈儾⑷胍粋€(gè)字節(jié)流中。與TCP不同,UDP沒(méi)有提供接收端到發(fā)送端的反饋。在TCP的例子里,接收端返回只包含有TCP報(bào)文段首部而沒(méi)有數(shù)據(jù)的報(bào)文段。首部本身則攜帶著關(guān)于哪些數(shù)據(jù)已經(jīng)被成功接收以及接收端能夠接收多少數(shù)據(jù)的信息。我們已經(jīng)知道UDP不提供可靠的數(shù)據(jù)傳輸,因此并不要求什么數(shù)據(jù)已經(jīng)被成功接收的信息。它也不提供任何信息高速發(fā)送端降低速率,因?yàn)榻邮斩嘶蛘呔W(wǎng)絡(luò)本身已經(jīng)淹沒(méi)。雖然UDP本身并不提供接收端到發(fā)送端的反饋,但是我們確實(shí)看到幾個(gè)從接收端到發(fā)送端的ICMP分組(分組12—14)。ICMP是網(wǎng)絡(luò)層協(xié)議(IP)的一個(gè)伴隨協(xié)議,并且有提供一定控制和錯(cuò)誤報(bào)告的功能。在這種情況下,ICMP分組暗示一些UDP數(shù)據(jù)報(bào)沒(méi)有被傳送到,因?yàn)槎丝诓豢蛇_(dá)。這就意味著當(dāng)數(shù)據(jù)報(bào)到達(dá)那個(gè)端口的時(shí)候,沒(méi)有接收端在那個(gè)端口監(jiān)聽(tīng)。我們注意到ICMP分組攜帶著一些未傳遞UDP數(shù)據(jù)報(bào)的信息。當(dāng)ttcp接收端看到一個(gè)只具有4個(gè)字節(jié)數(shù)據(jù)的特殊數(shù)據(jù)報(bào)時(shí),它便會(huì)知道數(shù)據(jù)傳輸是完整的,并且會(huì)因此關(guān)閉正在監(jiān)聽(tīng)的端口。事實(shí)上ttcp發(fā)送端發(fā)送5個(gè)這樣的分組,并且后面的分組到達(dá)的時(shí)候發(fā)現(xiàn)接收端已經(jīng)沒(méi)有在監(jiān)聽(tīng)了。當(dāng)發(fā)送端發(fā)送所有的數(shù)據(jù)而沒(méi)有相應(yīng)的接收標(biāo)志的時(shí)候,將會(huì)看到相似的行為。TCP和UDP的另外一個(gè)不同之處在于TCP連接時(shí)點(diǎn)對(duì)點(diǎn)的,換句話(huà)說(shuō),TCP的使用是在一個(gè)連接端和一個(gè)發(fā)送端之間的。而對(duì)于UDP來(lái)說(shuō),一個(gè)發(fā)送端可能發(fā)向多個(gè)接收端(例如廣播和組播通信)或者多個(gè)發(fā)送端能夠發(fā)送給一個(gè)接收端。如果多個(gè)發(fā)送端都發(fā)給這個(gè)接收端的話(huà),這個(gè)接收端會(huì)為每個(gè)發(fā)送端報(bào)告統(tǒng)計(jì)信息。TCP和UDP的最后一個(gè)不同之處是它們首部的大小。UDP首部總是8個(gè)字節(jié),而TCP首部大小是變化的,但是它絕對(duì)不會(huì)少于20個(gè)字節(jié)。這也就是說(shuō)傳輸5000個(gè)字節(jié)的實(shí)際數(shù)據(jù)TCP的開(kāi)銷(xiāo)是36﹪。四、實(shí)驗(yàn)報(bào)告回答下面的問(wèn)題:1、在udp_2transmit.cap中觀察DUP首部。長(zhǎng)度字段是包括首部和數(shù)據(jù)還是只包括數(shù)據(jù)?2、我們觀察到使用ICMP報(bào)文來(lái)報(bào)告UDP數(shù)據(jù)報(bào)不可達(dá)。為什么TCP不用這個(gè)來(lái)指示丟失的報(bào)文段呢?3、我們計(jì)算TCP成功傳輸5000個(gè)字節(jié)的實(shí)際數(shù)據(jù)的開(kāi)銷(xiāo)是36﹪。在這個(gè)開(kāi)銷(xiāo)中都包括什么?如果沒(méi)有重傳,這個(gè)開(kāi)銷(xiāo)是多少?
實(shí)驗(yàn)七利用Wireshark分析協(xié)議HTTP一、實(shí)驗(yàn)?zāi)康姆治鯤TTP協(xié)議二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟1、利用Wireshark俘獲HTTP分組(1)在進(jìn)行跟蹤之前,我們首先清空Web瀏覽器的高速緩存來(lái)確保Web網(wǎng)頁(yè)是從網(wǎng)絡(luò)中獲取的,而不是從高速緩沖中取得的。之后,還要在客戶(hù)端清空DNS高速緩存,來(lái)確保Web服務(wù)器域名到IP地址的映射是從網(wǎng)絡(luò)中請(qǐng)求。在WindowsXP機(jī)器上,可在命令提示行輸入ipconfig/flushdns完成操作。(2)啟動(dòng)Wireshrk分組俘獲器。(3)在Web瀏覽器中輸入:(4)停止分組俘獲。圖1利用Wireshark俘獲的HTTP分組在URL中,是一個(gè)具體的web服務(wù)器的域名。最前面有兩個(gè)DNS分組。第一個(gè)分組是將域名轉(zhuǎn)換成為對(duì)應(yīng)的IP地址的請(qǐng)求,第二個(gè)分組包含了轉(zhuǎn)換的結(jié)果。這個(gè)轉(zhuǎn)換是必要的,因?yàn)榫W(wǎng)絡(luò)層協(xié)議——IP協(xié)議,是通過(guò)點(diǎn)分十進(jìn)制來(lái)表示因特網(wǎng)主機(jī)的,而不是通過(guò)這樣的域名。當(dāng)輸入U(xiǎn)RLhttp://時(shí),將要求Web服務(wù)器從主機(jī)上請(qǐng)求數(shù)據(jù),但首先Web瀏覽器必須確定這個(gè)主機(jī)的IP地址。隨著轉(zhuǎn)換的完成,Web瀏覽器與Web服務(wù)器建立一個(gè)TCP連接。最后,Web瀏覽器使用已建立好的TCP連接來(lái)發(fā)送請(qǐng)求“GET/HTTP/1.1”。這個(gè)分組描述了要求的行為(“GET”)及文件(只寫(xiě)“/”是因?yàn)槲覀儧](méi)有指定額外的文件名),還有所用到的協(xié)議的版本(“HTTP/1.1”)。2、HTTPGET/response交互(1)在協(xié)議框中,選擇“GET/HTTP/1.1”所在的分組會(huì)看到這個(gè)基本請(qǐng)求行后跟隨著一系列額外的請(qǐng)求首部。在首部后的“\r\n”表示一個(gè)回車(chē)和換行,以此將該首部與下一個(gè)首部隔開(kāi)?!癏ost”首部在HTTP1.1版本中是必須的,它描述了URL中機(jī)器的域名,本例中是。這就允許了一個(gè)Web服務(wù)器在同一時(shí)間支持許多不同的域名。有了這個(gè)數(shù)不,Web服務(wù)器就可以區(qū)別客戶(hù)試圖連接哪一個(gè)Web服務(wù)器,并對(duì)每個(gè)客戶(hù)響應(yīng)不同的內(nèi)容,這就是HTTP1.0到1.1版本的主要變化。User-Agent首部描述了提出請(qǐng)求的Web瀏覽器及客戶(hù)機(jī)器。接下來(lái)是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受語(yǔ)言)、Accept-Encoding(接受編碼)、Accept-Charset(接受字符集)。它們告訴Web服務(wù)器客戶(hù)Web瀏覽器準(zhǔn)備處理的數(shù)據(jù)類(lèi)型。Web服務(wù)器可以將數(shù)據(jù)轉(zhuǎn)變?yōu)椴煌恼Z(yǔ)言和格式。這些首部表明了客戶(hù)的能力和偏好。Keep-Alive及Connection首部描述了有關(guān)TCP連接的信息,通過(guò)此連接發(fā)送HTTP請(qǐng)求和響應(yīng)。它表明在發(fā)送請(qǐng)求之后連接是否保持活動(dòng)狀態(tài)及保持多久。大多數(shù)HTTP1.1連接是持久的(persistent),意思是在每次請(qǐng)求后不關(guān)閉TCP連接,而是保持該連接以接受從同一臺(tái)服務(wù)器發(fā)來(lái)的多個(gè)請(qǐng)求。(2)我們已經(jīng)察看了由Web瀏覽器發(fā)送的請(qǐng)求,現(xiàn)在我們來(lái)觀察Web服務(wù)器的回答。響應(yīng)首先發(fā)送“HTTP/1.1200ok”,指明它開(kāi)始使用HTTP1.1版本來(lái)發(fā)送網(wǎng)頁(yè)。同樣,在響應(yīng)分組中,它后面也跟隨著一些首部。最后,被請(qǐng)求的實(shí)際數(shù)據(jù)被發(fā)送。第一個(gè)Cache-control首部,用于描述是否將數(shù)據(jù)的副本存儲(chǔ)或高速緩存起來(lái),以便將來(lái)引用。一般個(gè)人的Web瀏覽器會(huì)高速緩存一些本機(jī)最近訪問(wèn)過(guò)的網(wǎng)頁(yè),隨后對(duì)同一頁(yè)面再次進(jìn)行訪問(wèn)時(shí),如果該網(wǎng)頁(yè)仍存儲(chǔ)于高速緩存中,則不再向服務(wù)器請(qǐng)求數(shù)據(jù)。類(lèi)似地,在同一個(gè)網(wǎng)絡(luò)中的計(jì)算機(jī)可以共享一些存在高速緩存中的頁(yè)面,防止多個(gè)用戶(hù)通過(guò)到其他網(wǎng)路的低速網(wǎng)路連接從網(wǎng)上獲取相同的數(shù)據(jù)。這樣的高速緩存被稱(chēng)為代理高速緩存(proxycache)。在我們所俘獲的分組中我們看到“Cache-control”首部值是“private”的。這表明服務(wù)器已經(jīng)對(duì)這個(gè)用戶(hù)產(chǎn)生了一個(gè)個(gè)性化的響應(yīng),而且可以被存儲(chǔ)在本地的高速緩存中,但不是共享的高速緩存代理。在HTTP請(qǐng)求中,Web服務(wù)器列出內(nèi)容類(lèi)型及可接受的內(nèi)容編碼。此例中Web服務(wù)器選擇發(fā)送內(nèi)容的類(lèi)型是text/html且內(nèi)容編碼是gzip。這表明數(shù)據(jù)部分是壓縮了的HTML。服務(wù)器描述了一些關(guān)于自身的信息。此例中,Web服務(wù)器軟件是Google自己的Web服務(wù)器軟件。響應(yīng)分組還用Content-Length首部描述了數(shù)據(jù)的長(zhǎng)度。最后,服務(wù)器還在Date首部中列出了數(shù)據(jù)發(fā)送的日期和時(shí)間。根據(jù)俘獲窗口內(nèi)容,回答“四、實(shí)驗(yàn)報(bào)告內(nèi)容”中的1-6題。3、HTTP條件GET/response交互(1)啟動(dòng)瀏覽器,清空瀏覽器的緩存。(2)啟動(dòng)Wireshark分組俘獲器,開(kāi)始Wireshark分組俘獲。(3)在瀏覽器地址欄中如下網(wǎng)址:你的瀏覽器中將顯示一個(gè)具有五行的非常簡(jiǎn)單的HTML文件。(4)在你的瀏覽器中重新輸入相同的URL或單擊瀏覽器中的“刷新”按鈕。(5)停止Wireshark分組俘獲,在顯示過(guò)濾篩選說(shuō)明處輸入“http”,分組列表子窗口中將只顯示所俘獲到的HTTP報(bào)文。根據(jù)操作回答“四、實(shí)驗(yàn)報(bào)告內(nèi)容”中的7-10題。4、獲取長(zhǎng)文件(1)啟動(dòng)瀏覽器,將瀏覽器的緩存清空。(2)啟動(dòng)Wireshark分組俘獲器,開(kāi)始Wireshark分組俘獲。(3)在瀏覽器地址欄中輸入如下網(wǎng)址:瀏覽器將顯示一個(gè)相當(dāng)大的美國(guó)權(quán)力法案(4)停止Wireshark分組俘獲,在顯示過(guò)濾篩選說(shuō)明處輸入“http”,分組列表子窗口中將只顯示所俘獲到的HTTP報(bào)文。根據(jù)操作回答“四、實(shí)驗(yàn)報(bào)告內(nèi)容”中的11-14題。5、嵌有對(duì)象的HTML文檔(1)啟動(dòng)瀏覽器,將瀏覽器的緩存清空。(2)啟動(dòng)Wireshark分組俘獲器。開(kāi)始Wireshark分組俘獲。(3)在瀏覽器地址欄中輸入如下網(wǎng)址:瀏覽器將顯示一個(gè)具有兩個(gè)圖片的短HTTP文件。(4)停止Wireshark分組俘獲,在顯示過(guò)濾篩選說(shuō)明處輸入“http”,分組列表子窗口中將只顯示所俘獲到的HTTP報(bào)文。根據(jù)操作回答“四、實(shí)驗(yàn)報(bào)告內(nèi)容”中的15-16題。6、HTTP認(rèn)證(1)啟動(dòng)瀏覽器,將瀏覽器的緩存清空。(2)啟動(dòng)Wireshark分組俘獲器。開(kāi)始Wireshark分組俘獲。(3)在瀏覽器地址欄中輸入如下網(wǎng)址:瀏覽器將顯示一個(gè)HTTP文件,輸入所需要的用戶(hù)名和密碼(用戶(hù)名:wireshark-students,密碼:network)。(4)停止Wireshark分組俘獲,在顯示過(guò)濾篩選說(shuō)明處輸入“http”,分組列表子窗口中將只顯示所俘獲到的HTTP報(bào)文。根據(jù)操作回答“四、實(shí)驗(yàn)報(bào)告內(nèi)容”中的17-18題。四、實(shí)驗(yàn)報(bào)告內(nèi)容在實(shí)驗(yàn)的基礎(chǔ)上,回答以下問(wèn)題:(1)你的瀏覽器運(yùn)行的是HTTP1.0,還是HTTP1.1?你所訪問(wèn)的服務(wù)器所運(yùn)行的HTTP版本號(hào)是多少?(2)你的瀏覽器向服務(wù)器指出它能接收何種語(yǔ)言版本的對(duì)象?(3)你的計(jì)算機(jī)的IP地址是多少?服務(wù)器的IP地址是多少?(4)從服務(wù)器向你的瀏覽器返回的狀態(tài)代碼是多少?(5)你從服務(wù)器上所獲取的HTML文件的最后修改時(shí)間是多少?(6)返回到你的瀏覽器的內(nèi)容以供多少字節(jié)?(7)分析你的瀏覽器向服務(wù)器發(fā)出的第一個(gè)HTTPGET請(qǐng)求的內(nèi)容,在該請(qǐng)求報(bào)文中,是否有一行是:IF-MODIFIED-SINCE?(8)分析服務(wù)器響應(yīng)報(bào)文的內(nèi)容,服務(wù)器是否明確返回了文件的內(nèi)容?如何獲知?(9)分析你的瀏覽器向服務(wù)器發(fā)出的第二個(gè)“HTTPGET”請(qǐng)求,在該請(qǐng)求報(bào)文中是否有一行是:IF-MODIFIED-SINCE?如果有,在該首部行后面跟著的信息是什么?(10)服務(wù)器對(duì)第二個(gè)HTTPGET請(qǐng)求的響應(yīng)中的HTTP狀態(tài)代碼是多少?服務(wù)器是否明確返回了文件的內(nèi)容?請(qǐng)解釋。(11)你的瀏覽器一共發(fā)出了多少個(gè)HTTPGET請(qǐng)求?(12)承載這一個(gè)HTTP響應(yīng)報(bào)文一共需要多少個(gè)data-containingTCP報(bào)文段?(13)與這個(gè)HTTPGET請(qǐng)求相對(duì)應(yīng)的響應(yīng)報(bào)文的狀態(tài)代碼和狀態(tài)短語(yǔ)是什么?(14)在被傳送的數(shù)據(jù)中一共有多少個(gè)HTTP狀態(tài)行與TCP-induced”continuation”有關(guān)?(15)你的瀏覽器一共發(fā)出了多少個(gè)HTTPGET請(qǐng)求?這些請(qǐng)求被發(fā)送到的目的地的IP地址是多少?(16)瀏覽器在下載這兩個(gè)圖片時(shí),是串行下載還是并行下載?請(qǐng)解釋。(17)對(duì)于瀏覽器發(fā)出的最初的HTTPGET請(qǐng)求,服務(wù)器的響應(yīng)是什么(狀態(tài)代碼和狀態(tài)短語(yǔ))?(18)當(dāng)瀏覽器發(fā)出第二個(gè)HTTPGET請(qǐng)求時(shí),在HTTPGET報(bào)文中包含了哪些新的字段?
實(shí)驗(yàn)八利用Wireshark分析DNS協(xié)議一、實(shí)驗(yàn)?zāi)康姆治鯠NS協(xié)議二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟nslookup工具允許運(yùn)行該工具的主機(jī)向指定的DNS服務(wù)器查詢(xún)某個(gè)DNS記錄。如果沒(méi)有指明DNS服務(wù)器,nslookup將把查詢(xún)請(qǐng)求發(fā)向默認(rèn)的DNS服務(wù)器。其命令的一般格式是:nslookup–option1–option2host-to-finddns-server1、打開(kāi)命令提示符(CommandPrompt),輸入nslookup命令。圖中顯示三條命令,第一條命令:nslookup“提出一個(gè)問(wèn)題”即:“將主機(jī)的IP地址告訴我”。屏幕上出現(xiàn)了兩條信息:(1)“回答這一問(wèn)題”DNS服務(wù)器的名字和IP地址;(2)主機(jī)名字和IP地址。第二條命令:nslookup–type=NS在這個(gè)例子中,我們提供了選項(xiàng)“-type=NS”,域?yàn)椤?zhí)行這條命令后,屏幕上顯示了DNS服務(wù)器的名字和地址。接著下面是三個(gè)MITDNS服務(wù)器,每一個(gè)服務(wù)器是MIT校園里權(quán)威的DNS服務(wù)器。第三條命令:在這個(gè)例子中,我們請(qǐng)求返回DNSserver而不是默認(rèn)的DNS服務(wù)器()。此例中,DNS服務(wù)器提供主機(jī)的IP地址。2、ipconfigipconfig用來(lái)顯示TCP/IP信息,你的主機(jī)地址、DNS服務(wù)器地址,適配器等信息。如果你想看到所有關(guān)于你所在主機(jī)的信息,可在命令行鍵入:ipconfig/allipconfig在管理主機(jī)所儲(chǔ)存的DNS信息非常有用。如果查看DNS緩存中的記錄用命令:ipconfig/displaydns要清空DNS緩存,用命令:ipconfig/flushdns3、利用Wireshark捕獲DNS信息(1)利用ipconfig命令清空你的主機(jī)上的DNS緩存。(2)啟動(dòng)瀏覽器,將瀏覽器的緩存清空。(3)啟動(dòng)Wireshark分組俘獲器,在顯示過(guò)濾篩說(shuō)明處輸入“ip.addr==your_IP_address”(如:ip.addr==04),過(guò)濾器(filter)將會(huì)刪除所有目的地址和源地址都與指定IP地址不同的分組。(4)開(kāi)始Wireshark俘獲。(5)在瀏覽器的地址欄中輸入:http://(6)停止分組俘獲。(7)重復(fù)上面的實(shí)驗(yàn),只是將命令替換為:nslookup–type=NS(8)重復(fù)上面的實(shí)驗(yàn),只是將命令替換為:nslookup四、實(shí)驗(yàn)報(bào)告在實(shí)驗(yàn)的基礎(chǔ)上,回答以下問(wèn)題:(1)你的瀏覽器運(yùn)行的是HTTP1.0,還是HTTP1.1?你所訪問(wèn)的服務(wù)器所運(yùn)行的HTTP版本號(hào)是多少?(2)你的瀏覽器向服務(wù)器指出它能接收何種語(yǔ)言版本的對(duì)象?(3)你的計(jì)算機(jī)的IP地址是多少?服務(wù)器的IP地址是多少?(4)從服務(wù)器向你的瀏覽器返回的狀態(tài)代碼是多少?(5)你從服務(wù)器上所獲取的HTML文件的最后修改時(shí)間是多少?(6)返回到你的瀏覽器的內(nèi)容以供多少字節(jié)?(7)分析服務(wù)器響應(yīng)報(bào)文的內(nèi)容,服務(wù)器是否明確返回了文件的內(nèi)容?如何獲知?(8)服務(wù)器對(duì)第二個(gè)HTTPGET請(qǐng)求的響應(yīng)中的HTTP狀態(tài)代碼是多少?服務(wù)器是否明確返回了文件的內(nèi)容?請(qǐng)解釋。(9)與這個(gè)HTTPGET請(qǐng)求相對(duì)應(yīng)的響應(yīng)報(bào)文的狀態(tài)代碼和狀態(tài)短語(yǔ)是什么?(10)你的瀏覽器一共發(fā)出了多少個(gè)HTTPGET請(qǐng)求?這些請(qǐng)求被發(fā)送到的目的地的IP地址是多少?(11)對(duì)于瀏覽器發(fā)出的最初的HTTPGET請(qǐng)求,服務(wù)器的響應(yīng)是什么(狀態(tài)代碼和狀態(tài)短語(yǔ))?(12)當(dāng)瀏覽器發(fā)出第二個(gè)HTTPGET請(qǐng)求時(shí),在HTTPGET報(bào)文中包含了哪些新的字段?(13)DNS查詢(xún)報(bào)文的目的端口號(hào)是多少?DNS查詢(xún)響應(yīng)報(bào)文的源端口號(hào)是多少?
實(shí)驗(yàn)九使用Wireshark分析FTP協(xié)議一、實(shí)驗(yàn)?zāi)康姆治鯢TP協(xié)議二、實(shí)驗(yàn)環(huán)境與因特網(wǎng)連接的計(jì)算機(jī),操作系統(tǒng)為Windows,安裝有Wireshark、IE等軟件。三、實(shí)驗(yàn)步驟HTTP和FTP都可以用來(lái)通過(guò)網(wǎng)絡(luò)傳輸對(duì)象和文件,但它們的工作方式截然不同。HTTP側(cè)重于傳送立即瀏覽的文件或供暫時(shí)高速緩存于客戶(hù)端的文件。HTTP還側(cè)重于表達(dá)那些包含了用于規(guī)定文件格式的首部信息,以便讓瀏覽器能正確解釋內(nèi)容。而 FTP卻更側(cè)重于專(zhuān)門(mén)進(jìn)行數(shù)據(jù)傳輸,讓用戶(hù)自己去決定文件在本機(jī)上的存儲(chǔ)時(shí)間和如何處理數(shù)據(jù)。FTP是一種有狀態(tài)的協(xié)議。FTP客戶(hù)端與服務(wù)器建立一個(gè)持續(xù)的會(huì)話(huà),并通過(guò)這個(gè)會(huì)話(huà)發(fā)送多個(gè)請(qǐng)求。啟動(dòng)會(huì)話(huà)要輸入用戶(hù)名和密碼,然而許多FTP服務(wù)器允許公開(kāi)訪問(wèn),即客戶(hù)端可以使用匿名登錄(anonymous)及隨意設(shè)置的密碼連接。一旦建立連接,對(duì)FTP會(huì)話(huà)的操作類(lèi)似命令行下的操作,用戶(hù)在提示符下操作,并能瀏覽一些文件和目錄。用戶(hù)在瀏覽目錄時(shí),F(xiàn)TP服務(wù)器保持對(duì)用戶(hù)目錄位置的跟蹤。用戶(hù)還可以請(qǐng)求從服務(wù)器獲取文件或向服務(wù)器存儲(chǔ)文件,對(duì)這些請(qǐng)求的解釋與當(dāng)前工作的目錄有關(guān)。FTP總是為正在進(jìn)行的控制通道維持一個(gè)TCP連接,然后建立一個(gè)獨(dú)立的用于數(shù)據(jù)傳輸?shù)腡CP連接??刂仆ǖ劳ǔ=⒃趶目蛻?hù)端到FTP服務(wù)器端口21的連接,它用于描述每一個(gè)使用中的數(shù)據(jù)通道的屬性,包括客戶(hù)端或服務(wù)器是否啟動(dòng)傳輸,以及用什么IP地址和端口連接。用RFC-Editor搜索功能找到定義FTP協(xié)議的RFC文檔。搜索結(jié)果表明該RFC文檔在URL找到。如果你在瀏覽器窗口中輸入以ftp://開(kāi)頭的URL,那么它將作為FTP客戶(hù)端來(lái)獲取想要的文件。1、俘獲FTP分組啟動(dòng)Wireshark嗅探器。瀏覽器地址欄中輸入如下網(wǎng)址:在停止分組俘獲。如圖1所示:圖1俘獲的FTP分組2、查看FTP控制通道(1)本地客戶(hù)端首先為控制通道初始化了一個(gè)到服務(wù)器上FTP端口(端口21)的TCP連接。(2)一旦控制通道建立,服務(wù)器首先通過(guò)該通道發(fā)送信息。服務(wù)器以域名作為響應(yīng),表示已經(jīng)為服務(wù)請(qǐng)求做好了準(zhǔn)備。(3)在獲取數(shù)據(jù)之前,F(xiàn)TP客戶(hù)端必須發(fā)送一個(gè)用戶(hù)名到服務(wù)器。這一步由FTP命令USER來(lái)完成。FTP服務(wù)器響應(yīng)一個(gè)報(bào)文,并通知客戶(hù)端發(fā)送完整的電子郵件地址作為密碼(但許多客戶(hù)端代之發(fā)送一個(gè)標(biāo)識(shí)客戶(hù)端軟件的字符串作為密碼,一些FTP服務(wù)器檢查密碼是否是電子郵件格式,但大部分不會(huì)這么做。)(4)選擇TCP流中的一個(gè)分組,然后選擇Analyze菜單下的“FollowTCPStream”,你就會(huì)看到控制通道的所有內(nèi)容。(注意客戶(hù)端命令帶有深暗的背景,以與服務(wù)器響應(yīng)區(qū)別)。如圖2所示:圖2FTP控制通道(5)用戶(hù)名和密碼交換完成,F(xiàn)TP客戶(hù)端就會(huì)發(fā)送命令“PWD”來(lái)指定當(dāng)前工作的目錄。上圖中顯示服務(wù)器以當(dāng)前工作的目錄是根目錄“/”作為響應(yīng),客戶(hù)端也用發(fā)出命令“SYST”請(qǐng)求關(guān)于FTP服務(wù)器的信息。(6)“PASV”通知服務(wù)器準(zhǔn)備第一個(gè)即將到來(lái)的數(shù)據(jù)連接。服務(wù)器響應(yīng)“227EnteringPassingMode”,這表示服務(wù)器自動(dòng)打開(kāi)一個(gè)套接字來(lái)接受來(lái)自客戶(hù)端的數(shù)據(jù)連接。3、查看FTP數(shù)據(jù)通道數(shù)據(jù)通道用于列出當(dāng)前工作目錄的內(nèi)容。當(dāng)建立了數(shù)據(jù)通道后,客戶(hù)端通過(guò)控制通道發(fā)送LIST命令,請(qǐng)求列出當(dāng)前工作目錄的內(nèi)容。當(dāng)目錄列表發(fā)送完畢后,數(shù)據(jù)通道也被關(guān)閉。(1)在目錄信息傳送之后,F(xiàn)TP客戶(hù)端將傳過(guò)來(lái)的目錄信息顯示給我們。在本實(shí)驗(yàn)中選擇進(jìn)入in-notes目錄,這個(gè)動(dòng)作被解釋為CWDin-notes命令在控制通道中傳送。在進(jìn)入目錄in-notes后,目錄的內(nèi)容在第二個(gè)數(shù)據(jù)通道中顯示出來(lái),過(guò)程與根目錄的相同。(2)在文件傳送之前,還有一個(gè)額外的命令“TYPEI”。FTP支持多種不同的文件數(shù)據(jù)表示格式,比如用I表示圖像,用A表示ASCII,E表示EBCDIC。(3)rfc959.txt文件在第三個(gè)數(shù)據(jù)通道以類(lèi)似傳送目錄列表的方式傳送
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化轉(zhuǎn)型趨勢(shì)及實(shí)施方案
- 鍋爐工聘用合同
- 三農(nóng)行業(yè)現(xiàn)代農(nóng)業(yè)園區(qū)規(guī)劃與設(shè)計(jì)指導(dǎo)書(shū)
- 三農(nóng)村農(nóng)業(yè)綜合開(kāi)發(fā)方案
- 2025年?yáng)|營(yíng)貨運(yùn)上崗證模擬考試
- 2025年?yáng)|莞貨運(yùn)資格證安檢考試題
- 2025年安順貨運(yùn)從業(yè)資格證模擬考試保過(guò)版
- 2025年遼陽(yáng)貨運(yùn)從業(yè)資格模擬考試
- 2025年荊州貨運(yùn)車(chē)從業(yè)考試題
- 2024年高考化學(xué)一輪復(fù)習(xí)2.2離子反應(yīng)離子方程式練習(xí)含解析
- 2025年春新滬科版物理八年級(jí)下冊(cè)全冊(cè)教學(xué)課件
- 2025年國(guó)家廣播電視總局監(jiān)管中心招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中醫(yī)院發(fā)展中醫(yī)重點(diǎn)專(zhuān)科、學(xué)科加強(qiáng)中醫(yī)藥人才培養(yǎng)的具體措施
- 2025年中國(guó)私域電商行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)、市場(chǎng)規(guī)模及發(fā)展趨勢(shì)研究報(bào)告
- 財(cái)務(wù)核算管理制度
- 2024年山東省淄博市中考英語(yǔ)試題(含答案)
- 2025年浙江省重點(diǎn)高中提前自主招生數(shù)學(xué)模擬試卷(含答案)
- 弱電智能化勞務(wù)分包合同
- 電網(wǎng)調(diào)度基本知識(shí)課件
- 主要施工機(jī)械設(shè)備、勞動(dòng)力、設(shè)備材料投入計(jì)劃及其保證措施
- 環(huán)境與職業(yè)健康安全管理手冊(cè)
評(píng)論
0/150
提交評(píng)論