配套課件:計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教程_第1頁(yè)
配套課件:計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教程_第2頁(yè)
配套課件:計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教程_第3頁(yè)
配套課件:計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教程_第4頁(yè)
配套課件:計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教程_第5頁(yè)
已閱讀5頁(yè),還剩276頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1網(wǎng)絡(luò)基礎(chǔ)實(shí)驗(yàn)2實(shí)驗(yàn)簡(jiǎn)要介紹本章實(shí)驗(yàn)是學(xué)生接觸計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)實(shí)驗(yàn)。通過(guò)本實(shí)驗(yàn),實(shí)驗(yàn)者能夠:了解常見(jiàn)的計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備;了解網(wǎng)絡(luò)中心布局和規(guī)劃;掌握網(wǎng)絡(luò)基本命令的使用;掌握網(wǎng)線(xiàn)的制作和使用網(wǎng)線(xiàn)實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)通信;掌握使用交換機(jī)組建小型局域網(wǎng);掌握如何組建無(wú)線(xiàn)網(wǎng)絡(luò)。3實(shí)驗(yàn)?zāi)康牧私庥?jì)算機(jī)網(wǎng)絡(luò)。熟悉相關(guān)的網(wǎng)絡(luò)命令工具,能夠?qū)崿F(xiàn)其相應(yīng)的網(wǎng)絡(luò)測(cè)試。掌握網(wǎng)線(xiàn)(雙絞線(xiàn))的制作方法。掌握交換機(jī)基本配置的步驟和方法。掌握無(wú)線(xiàn)網(wǎng)絡(luò)的組建。掌握主機(jī)防火墻的配置。4實(shí)驗(yàn)設(shè)備及軟件實(shí)驗(yàn)所需設(shè)備:微型計(jì)算機(jī)2臺(tái),配置如下:CPU:P4或以上級(jí)別內(nèi)存:512MB硬盤(pán)空余容量:512MB客戶(hù)機(jī)預(yù)裝WindowsXP或Windo

2、ws 7服務(wù)器預(yù)裝Windows2003及以上系統(tǒng)無(wú)線(xiàn)路由器手機(jī)實(shí)驗(yàn)所需軟件packet tracer6.25實(shí)驗(yàn)原理通過(guò)讓學(xué)生參觀(guān)學(xué)校網(wǎng)絡(luò)中心,對(duì)網(wǎng)絡(luò)有個(gè)初步認(rèn)識(shí),幫助學(xué)生認(rèn)識(shí)計(jì)算機(jī)網(wǎng)絡(luò)以及了解網(wǎng)絡(luò)設(shè)備。通過(guò)網(wǎng)絡(luò)基本工具的使用,能夠使用網(wǎng)絡(luò)工具診斷常見(jiàn)的網(wǎng)絡(luò)故障,理解常見(jiàn)的網(wǎng)絡(luò)傳輸介質(zhì)雙絞線(xiàn),并學(xué)會(huì)網(wǎng)線(xiàn)的制作。通過(guò)交換機(jī)組建局域網(wǎng),幫助學(xué)生掌握什么是計(jì)算機(jī)網(wǎng)絡(luò),對(duì)計(jì)算機(jī)網(wǎng)絡(luò)有具體的認(rèn)識(shí)。6實(shí)驗(yàn)內(nèi)容說(shuō)明通過(guò)參觀(guān)學(xué)校的網(wǎng)絡(luò)中心,了解網(wǎng)絡(luò)中心的布局和規(guī)劃,初步認(rèn)識(shí)計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備,認(rèn)識(shí)計(jì)算機(jī)網(wǎng)絡(luò)。 通過(guò)PING命令測(cè)試網(wǎng)絡(luò)連通性,使用Tracert命令追蹤數(shù)據(jù)包路徑。認(rèn)識(shí)網(wǎng)線(xiàn)類(lèi)別,制作網(wǎng)線(xiàn),使用網(wǎng)線(xiàn)

3、實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)直連。利用Packet tracer配置交換機(jī),組建小型交換網(wǎng)絡(luò)。配置無(wú)線(xiàn)路由器,觀(guān)察手機(jī)的無(wú)線(xiàn)網(wǎng)絡(luò)。7實(shí)驗(yàn)步驟參觀(guān)網(wǎng)絡(luò)中心,認(rèn)識(shí)常用的網(wǎng)絡(luò)設(shè)備常用網(wǎng)絡(luò)命令的使用制作雙絞線(xiàn)運(yùn)行Packet Tracer軟件,在邏輯工作區(qū)放入一臺(tái)交換機(jī)和一臺(tái)工作站PC,配置交換機(jī),組建小型交換網(wǎng)絡(luò)配置PC的IPv4地址并驗(yàn)證連通性,配置PC的無(wú)線(xiàn)網(wǎng)卡,配置無(wú)線(xiàn)路由器,使用手機(jī)登錄到無(wú)線(xiàn)網(wǎng)絡(luò)配置主機(jī)PC-B的防火墻,測(cè)試防火墻是否生效,配置R1為SSH Server,在R2上遠(yuǎn)程SSH登錄R1,在PC上遠(yuǎn)程SSH登錄R18功能測(cè)試-網(wǎng)線(xiàn)制作把網(wǎng)線(xiàn)的一端插入測(cè)線(xiàn)儀的TX端,另一端放到RX端,或者放到R

4、emote端。打開(kāi)測(cè)線(xiàn)儀的開(kāi)關(guān),如果在自動(dòng)檔,那么兩端的紅燈會(huì)從1相應(yīng)的亮到8。如果覺(jué)得燈亮得太快,可以打到手動(dòng)檔,按中間的白色按鈕,燈會(huì)一個(gè)一個(gè)的亮。9實(shí)驗(yàn)報(bào)告要求實(shí)驗(yàn)?zāi)康闹饕獌?nèi)容實(shí)驗(yàn)步驟測(cè)試過(guò)程實(shí)驗(yàn)錯(cuò)誤或失敗的原因結(jié)果分析心得體會(huì)10實(shí)驗(yàn)思考題通過(guò)本實(shí)驗(yàn),你的體會(huì)是什么?思考如果你的計(jì)算機(jī)要連接到互聯(lián)網(wǎng),需要哪些網(wǎng)絡(luò)參數(shù)?思考什么時(shí)候使用直通線(xiàn),什么時(shí)候使用交叉線(xiàn)。什么是用戶(hù)模式、特權(quán)模式和全局配置模式?根據(jù)家中的無(wú)線(xiàn)路由器說(shuō)明和步驟,配置無(wú)線(xiàn)網(wǎng)絡(luò)。配置PC-B防火墻,同時(shí)阻止PC-A訪(fǎng)問(wèn)PC-B的WEB頁(yè)面和TELNET登錄。11應(yīng)用服務(wù)器配置實(shí)驗(yàn)12實(shí)驗(yàn)簡(jiǎn)要介紹應(yīng)用服務(wù)器是指通過(guò)各種協(xié)

5、議把商業(yè)邏輯曝露給客戶(hù)端的程序。它提供了訪(fǎng)問(wèn)商業(yè)邏輯的途徑以供客戶(hù)端應(yīng)用程序使用。應(yīng)用服務(wù)器使用此商業(yè)邏輯就像調(diào)用對(duì)象的一個(gè)方法一樣。通過(guò)本實(shí)驗(yàn),實(shí)驗(yàn)者能夠:掌握服務(wù)器操作系統(tǒng)的安裝;掌握在服務(wù)器上安裝服務(wù)并配置;掌握服務(wù)功能的測(cè)試與應(yīng)用。13實(shí)驗(yàn)?zāi)康氖炀氄莆誻indows服務(wù)器操作系統(tǒng)的安裝。熟練掌握在服務(wù)器上安裝FTP、WEB、DHCP、DNS角色并配置。熟練掌握FTP、WEB、DHCP、DNS服務(wù)的各項(xiàng)功能。14實(shí)驗(yàn)設(shè)備及軟件實(shí)驗(yàn)所需設(shè)備:微型計(jì)算機(jī)2臺(tái),配置如下:CPU:P4或以上級(jí)別內(nèi)存:512MB硬盤(pán)空余容量:512MB客戶(hù)機(jī)預(yù)裝WindowsXP或Windows 7服務(wù)器預(yù)裝Wi

6、ndows2003及以上系統(tǒng)實(shí)驗(yàn)所需軟件FTP(windows IIS組件)WWWFTP(windows IIS組件)DNS(DNS服務(wù)端組件)DHCPDNS(DHCP服務(wù)端組件)15實(shí)驗(yàn)原理配置 WWW、FTP 服務(wù)器: Win2003 系統(tǒng)配置好 WWW、FTP 服務(wù)器后利用本機(jī)訪(fǎng)問(wèn)2003服務(wù)器的WEB網(wǎng)站和FTP站點(diǎn)。 配置 DHCP、DNS 服務(wù)器: Win2003 系統(tǒng)配置好 DHCP、DNS 服務(wù)器后使本機(jī)獲得 IP 地址并連通外網(wǎng)。注意:在虛擬機(jī)中,只有設(shè)置好了虛擬網(wǎng)卡,才能使得2003系統(tǒng)利用虛擬網(wǎng)卡與本機(jī)通信,使得本機(jī)能訪(fǎng)問(wèn)2003中的各項(xiàng)服務(wù)16實(shí)驗(yàn)內(nèi)容說(shuō)明本實(shí)驗(yàn)將在wi

7、ndows server 2003 上安裝以下服務(wù):FTP、WWW、DHCP、DNS服務(wù)安裝不必按照先后順序2003服務(wù)器網(wǎng)卡設(shè)置為客戶(hù)端所在網(wǎng)段安裝好每項(xiàng)服務(wù)后進(jìn)行功能性測(cè)試17實(shí)驗(yàn)步驟設(shè)置windows server 2003主機(jī)IP地址為Windows2003添加應(yīng)用程序服務(wù)器角色在Windows2003下新建FTP服務(wù)器在windows2003下新建WEB站點(diǎn)為Windows server 2003添加DHCP角色配置DHCP服務(wù)器為Windows server 2003添加DNS角色配置DNS服務(wù)器測(cè)試各項(xiàng)服務(wù)器功能18功能測(cè)試-FTP完成FTP服務(wù)器角色配置后,在客戶(hù)端PC的XP或

8、WIN7系統(tǒng)打開(kāi)本地PC機(jī)瀏覽器,在地址欄輸入32訪(fǎng)問(wèn)我們剛剛建立的服務(wù)器。19功能測(cè)試-WEB完成WEB服務(wù)器角色配置后,在客戶(hù)端PC的XP或WIN7系統(tǒng)打開(kāi)本地PC機(jī)瀏覽器,在地址欄輸入32訪(fǎng)問(wèn)我們剛剛建立的服務(wù)器。20功能測(cè)試-DHCPXP或WIN7主機(jī)本地連接設(shè)置為自動(dòng)獲取后,可以看到已經(jīng)從DHCP服務(wù)器成功獲取到IP地址、網(wǎng)關(guān)、DHS服務(wù)器地址、WINS服務(wù)器地址以及獲取到的這些參數(shù)的租期時(shí)間。21功能測(cè)試-DNS在命令行下面利用ping命令去探測(cè)IP地址,此時(shí)DNS服務(wù)器會(huì)自動(dòng)翻譯地址為對(duì)應(yīng)域名,并且在瀏覽器里訪(fǎng)問(wèn)該域名也會(huì)直接指向的WEB站點(diǎn)。22實(shí)驗(yàn)報(bào)告要求實(shí)驗(yàn)?zāi)康闹饕獌?nèi)容實(shí)驗(yàn)

9、步驟測(cè)試過(guò)程實(shí)驗(yàn)錯(cuò)誤或失敗的原因結(jié)果分析心得體會(huì)23實(shí)驗(yàn)思考題通過(guò)本實(shí)驗(yàn),你的體會(huì)是什么?如何保障服務(wù)器訪(fǎng)問(wèn)的安全性。嘗試自己安裝一個(gè)新的服務(wù)并測(cè)試。如果需要使用服務(wù)器,會(huì)用到哪些功能?嘗試使用其它服務(wù)器系統(tǒng)比如windows2012、linux等24第三章網(wǎng)絡(luò)協(xié)議分析實(shí)驗(yàn)使用Wireshark分析數(shù)據(jù)包使用協(xié)議分析軟件分析數(shù)據(jù)包可以幫助學(xué)生理解計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)的實(shí)質(zhì),是學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)的必備實(shí)驗(yàn)本章實(shí)驗(yàn)貫穿整個(gè)TCP/IP協(xié)議層次,可以詳細(xì)分析數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層的數(shù)據(jù)抓包工具種類(lèi)WiresharkEtherealSnifferTcpdump(linux系統(tǒng)自帶)協(xié)議分析工具的

10、構(gòu)成與安裝Winpcap.exe是Win32平臺(tái)上進(jìn)行包捕獲和網(wǎng)絡(luò)協(xié)議分析的開(kāi)源庫(kù),含有很重要的包過(guò)濾動(dòng)態(tài)鏈接庫(kù)(packet.dll庫(kù))和wpcap.dll庫(kù),這兩個(gè)動(dòng)態(tài)鏈接庫(kù)都提供有抓包工具必需的應(yīng)用編程接口API。 在安裝之前,必須要先安裝WinPcap,否則抓包無(wú)法完成。值得一提的是,新版本的Wireshark工具已經(jīng)把WinPcap庫(kù)固化在Ethereal的安裝程序中,只需要按照提示步驟默認(rèn)安裝即可。下載軟件常見(jiàn)的網(wǎng)絡(luò)協(xié)議分析工具包括WireShark、Sniffer和Tcpdump(linux系統(tǒng)自帶)。WireShark是一款用來(lái)捕獲網(wǎng)絡(luò)上數(shù)據(jù)包并把這些信息通過(guò)圖形用戶(hù)界面顯示的

11、網(wǎng)絡(luò)分析工具,是開(kāi)源代碼的網(wǎng)絡(luò)協(xié)議分析軟件??梢詮?#download頁(yè)面下載WireShark,并在實(shí)驗(yàn)的計(jì)算機(jī)上進(jìn)行安裝。 安裝熟悉軟件界面說(shuō)明一般PC都帶有NPF撥號(hào)適配器(很少使用)和某一種有線(xiàn)網(wǎng)卡接口(網(wǎng)卡型號(hào)可能有不同)。因?yàn)樵谠揚(yáng)C中安裝有虛擬機(jī)VMware,VMware會(huì)顯示出兩個(gè)虛擬機(jī)網(wǎng)卡接口選項(xiàng),如果沒(méi)有虛擬機(jī),就無(wú)此接口選項(xiàng)。如果某PC(主要是筆記本計(jì)算機(jī))裝有無(wú)線(xiàn)網(wǎng)卡,就會(huì)有無(wú)線(xiàn)網(wǎng)卡接口選項(xiàng)。讀者選擇哪個(gè)網(wǎng)卡接口進(jìn)行抓包,是選擇無(wú)線(xiàn)網(wǎng)卡還是選擇有線(xiàn)網(wǎng)卡,可以根據(jù)自己PC的具體情況來(lái)定。示例(1) NPF撥號(hào)適配器;(2) Intel PRO 1000MT網(wǎng)卡;(3) V

12、Mware虛擬機(jī)適配器1;(4) Intel PRO無(wú)線(xiàn)網(wǎng)卡;(5) VMware虛擬機(jī)適配器2。開(kāi)始抓包并統(tǒng)計(jì)分析數(shù)據(jù)包軟件窗口由三部分構(gòu)成從上到下分別是(1) 各個(gè)協(xié)議的數(shù)據(jù)包列表;(2) 某一具體協(xié)議的各個(gè)層次的數(shù)據(jù)分析;(3) 幀的十六進(jìn)制具體數(shù)據(jù)展示。說(shuō)明可以看到,最上面的窗口為數(shù)據(jù)包的列表,顯示的是捕獲到的每個(gè)數(shù)據(jù)包的大概信息;中間的窗口是選定的某個(gè)數(shù)據(jù)包的層次結(jié)構(gòu)和協(xié)議分析;最下面的窗口是數(shù)據(jù)包的16進(jìn)制數(shù)據(jù)的具體內(nèi)容,也就是數(shù)據(jù)包在物理層上傳遞的數(shù)據(jù)。過(guò)濾器設(shè)置 捕獲過(guò)濾在抓取數(shù)據(jù)時(shí),如果只想捕獲特定的報(bào)文,可以在抓取分組前就要設(shè)置捕獲過(guò)濾器,從而決定捕獲數(shù)據(jù)包的類(lèi)型。可以直接

13、在“應(yīng)用顯示對(duì)話(huà)框”輸入過(guò)濾規(guī)則,則顯示符合規(guī)律規(guī)則的數(shù)據(jù)包,例如,我們輸入HTTP,則只顯示HTTP協(xié)議的數(shù)據(jù)包,如果要捕獲特定的報(bào)文,那在抓取packet前就要設(shè)置,決定數(shù)據(jù)包的類(lèi)型。比如說(shuō):a.捕獲 MAC地址為 00:d0:f8:00:00:04 網(wǎng)絡(luò)設(shè)備通信的所有報(bào)文 ether host 00:d0:f8:00:00:04b.捕獲 IP地址為 網(wǎng)絡(luò)設(shè)備通信的所有報(bào)文 host c.捕獲網(wǎng)絡(luò)web瀏覽的所有報(bào)文 tcp port 80d.捕獲除了http外的所有通信數(shù)據(jù)報(bào)文 host and not tcp port 80Capture filterFilter string 語(yǔ)法格

14、式src|dst host ether src|dst host gateway host src|dst net mask |len tcp|udp src|dst port less|greater ip|ether proto ether|ip broadcast|multicast relop 符號(hào)在Filter string語(yǔ)法中的定義 Equal: eq, = (等于)Not equal: ne, != (不等于)Greater than: gt, (大于)Less Than: lt, = (大等于)Less than or Equal to: le, = (小等于)Display

15、 filters 顯示過(guò)濾 可以直接在主界面的filter上選擇Analyze的下拉菜單Analyze下的Display filters正確的語(yǔ)法如下,和“Capture Filter”的語(yǔ)法有所不同:顯示 以太網(wǎng)地址為 00:d0:f8:00:00:03 設(shè)備通信的所有報(bào)文 eth.addr=00.d0.f8.00.00.03顯示 IP地址為 網(wǎng)絡(luò)設(shè)備通信的所有報(bào)文 ip.addr=顯示所有設(shè)備web瀏覽的所有報(bào)文 tcp.port=80顯示除了http外的所有通信數(shù)據(jù)報(bào)文 ip.addr= & tcp.port!=80Analyze的下拉菜單Enable protocols 是否啟用該協(xié)議

16、的解析, 點(diǎn)選該協(xié)議后,相關(guān)的上 層協(xié)議才能顯示出來(lái)。Analyze的下拉菜單Decode As 用戶(hù)定義報(bào)文協(xié)議說(shuō)明User Specified Decodes 用戶(hù)修改的報(bào)文編譯 Analyze的Decode AsDecode As 用戶(hù)定義報(bào)文協(xié)議說(shuō)明 通過(guò)定義后,數(shù)據(jù)包細(xì)節(jié)的窗口解釋?zhuān)阂郧笆?tcp的解釋?zhuān)木椭苯语@示ssl格式的報(bào)文。 分析follow tcp streamTCP報(bào)文是面向字節(jié)流的,瀏覽 ,進(jìn)行 抓包,可以看到tcp數(shù)據(jù)流抓數(shù)據(jù)包捕獲數(shù)據(jù)包的時(shí)間長(zhǎng)短要根據(jù)具體情況而定。比如,要分析HTTP協(xié)議的數(shù)據(jù)結(jié)構(gòu),只需要捕獲一條HTTP數(shù)據(jù)即可;而要觀(guān)察瀏覽器瀏覽服務(wù)器端網(wǎng)站

17、內(nèi)容的詳細(xì)過(guò)程,就需要詳細(xì)地捕獲從開(kāi)始到結(jié)束的整個(gè)過(guò)程。以網(wǎng)站首頁(yè)數(shù)據(jù)量較少的為例,假如要詳細(xì)顯示客戶(hù)端和首頁(yè)數(shù)據(jù)的詳細(xì)交互過(guò)程,就需要不停地捕獲數(shù)據(jù)包直到數(shù)據(jù)徹底傳遞完畢。 分析數(shù)據(jù)包No.列標(biāo)識(shí)出Ethereal捕獲的數(shù)據(jù)包的序號(hào),Time表明在什么時(shí)間捕獲到該數(shù)據(jù)包,Source和Destination標(biāo)識(shí)出數(shù)據(jù)包的源端和目的端,Protocol表明該數(shù)據(jù)包使用的協(xié)議(以該數(shù)據(jù)包最上層協(xié)議名命名),Info是在列表中大概列出該數(shù)據(jù)包的信息。 數(shù)據(jù)包具體網(wǎng)絡(luò)協(xié)議實(shí)例分析數(shù)據(jù)鏈路層幀網(wǎng)絡(luò)層協(xié)議IP傳輸層協(xié)議TCP/IP應(yīng)用層協(xié)議數(shù)據(jù)鏈路層數(shù)據(jù)傳遞兩種方式點(diǎn)對(duì)點(diǎn)信道廣播信道PPP幀首部結(jié)構(gòu)Et

18、hernet幀首部結(jié)構(gòu)某個(gè)Ethernet幀的十六進(jìn)制數(shù)據(jù)顯示說(shuō)明當(dāng)單擊選擇第26號(hào)幀(frame)時(shí),打開(kāi)下方的注釋?zhuān)@示出該幀的概要信息:幀的到達(dá)時(shí)間,幀的長(zhǎng)度有72字節(jié),整個(gè)幀內(nèi)部各個(gè)層次所用到的協(xié)議(分別是Eth, IP, UDP和DNS)。 Ethernet幀的首部 以太網(wǎng)幀首部一共14個(gè)字節(jié),6個(gè)字節(jié)的目的地址00 11 5d ac e8 00(Cisco_ac:e8:00思科網(wǎng)卡標(biāo)識(shí)符),表明使用的是Cisco公司的設(shè)備,6個(gè)字節(jié)源地址00 16 17 ab 1e 48,也就是本主機(jī)的網(wǎng)卡地址,2個(gè)字節(jié)類(lèi)型字段0800,表明里面的數(shù)據(jù)是IP數(shù)據(jù)報(bào)。IP數(shù)據(jù)報(bào)首部的結(jié)構(gòu) IP數(shù)據(jù)報(bào)

19、首部分析這個(gè)IP數(shù)據(jù)報(bào)的首部有20字節(jié)長(zhǎng),詳細(xì)的數(shù)據(jù)分析如下:Version:版本4,目前使用的是IPV4。Header length:首部長(zhǎng)度20字節(jié)(5個(gè)單位,每個(gè)單位4字節(jié))。Differentiated Services Field:區(qū)分服務(wù)00(簡(jiǎn)稱(chēng)為DS,默認(rèn)值是00,路由器根據(jù)DS字段不同的值來(lái)提供不同等級(jí)的服務(wù)質(zhì)量,其中,前6位是區(qū)分服務(wù)碼點(diǎn)DSCP,后面兩位目前不使用,記為CU)。Total Length:1500字節(jié)。Identification:標(biāo)識(shí)a6be(42686)。Flags:標(biāo)志,占3比特位,分別是010。第一位是保留位,目前不使用,值為0;第二位記為DF,值為

20、1表示不能分片,值為0表示允許分片;第三位記為MF,值為1表示后面還有分片的數(shù)據(jù)報(bào),值為0表示這已是若干數(shù)據(jù)報(bào)片中最后一個(gè)。Fragement Offset:片偏移0個(gè)單位。Time to live:生存時(shí)間51,表明這個(gè)數(shù)據(jù)報(bào)之前已經(jīng)經(jīng)過(guò)了13(64減去51等于13)個(gè)網(wǎng)關(guān)路由節(jié)點(diǎn)。Protocol:協(xié)議06表示內(nèi)部數(shù)據(jù)是TCP報(bào)文段。Header checksum:首部檢驗(yàn)和為768c,correct表明檢驗(yàn)正確。Source:源IP地址3。Destination:目的地址21。 TCP/UDP報(bào)文首部TCP報(bào)文段首部分析這是一個(gè)TCP報(bào)文段,詳細(xì)的數(shù)據(jù)分析如下:Source port:源

21、端口80,表明源端使用的是HTTP協(xié)議。Destination port:目的端口3251。Sequence number:序列號(hào)5841(相對(duì)序列號(hào))。Next sequence number:下一個(gè)序列號(hào)7301(相對(duì)序列號(hào))。Acknowledgement number:確認(rèn)號(hào)1000(相對(duì)確認(rèn)號(hào))。分析Header length:首部長(zhǎng)度20字節(jié)(5個(gè)單位)。保留位:000000,目前沒(méi)有使用。Flags:標(biāo)志,6個(gè)控制比特位,置1表示有效。0 緊急 1 確認(rèn)(表明這是一個(gè)TCP確認(rèn)報(bào)文) 0 推送 0 復(fù)位 0 同步 0 中止Window size:窗口大小6993。Checksum

22、:0abb。 UDP首部分析Source port:源端口64795。Destination:目的端口53(表明目的端使用的應(yīng)用層協(xié)議是DNS)。Length:長(zhǎng)度30(48字節(jié))。Checksum:檢驗(yàn)和6949(正確)。應(yīng)用層協(xié)議應(yīng)用層有很多協(xié)議,包括HTTP, DNS和FTP等。以DNS為例,圖3.20所示為DNS詢(xún)問(wèn)報(bào)文,客戶(hù)端詢(xún)問(wèn)DNS服務(wù)器的IP地址。圖3.21所示為DNS應(yīng)答報(bào)文,DNS服務(wù)器回答客戶(hù)端關(guān)于的IP地址。可以看到,有多個(gè)IP地址,對(duì)于訪(fǎng)問(wèn)量很大的門(mén)戶(hù)網(wǎng)站,要同時(shí)經(jīng)受住大量的用戶(hù)連接和訪(fǎng)問(wèn),一般都是采用這種多IP技術(shù)。DNS報(bào)文DNS應(yīng)答報(bào)文 ftp重流量數(shù)據(jù)包 ar

23、p的工作過(guò)程 瀏覽網(wǎng)頁(yè)抓包過(guò)程 分析假如客戶(hù)端瀏覽網(wǎng)站服務(wù)器。首先,客戶(hù)端22向本地DNS服務(wù)器(8)請(qǐng)求得到的IP地址,本地DNS服務(wù)器(8)回復(fù)客戶(hù)端,解析出的IP地址是8(大型門(mén)戶(hù)網(wǎng)站的域名都有多個(gè)IP地址,客戶(hù)端從其中選擇一個(gè)連接使用);然后,客戶(hù)端就開(kāi)始和服務(wù)器8建立通信聯(lián)系。因?yàn)闉g覽網(wǎng)頁(yè)在應(yīng)用層使用的是HTTP協(xié)議,在傳輸層使用的是TCP協(xié)議,所以客戶(hù)端和服務(wù)器8需要由TCP的“三次握手”來(lái)建立連接。連接建立成功后,客戶(hù)端22給服務(wù)器8發(fā)送HTTP的GET請(qǐng)求報(bào)文,服務(wù)器用TCP給客戶(hù)端傳遞報(bào)文,用HTTP應(yīng)答,客戶(hù)端對(duì)服務(wù)器進(jìn)行確認(rèn),直到數(shù)據(jù)全部傳遞完畢。圖3.24所示為詳細(xì)的瀏

24、覽網(wǎng)頁(yè)的抓包過(guò)程。捕獲到QQ的數(shù)據(jù)包 分析以QQ為例,QQ和外界相互傳遞消息,用Ethereal來(lái)捕獲QQ數(shù)據(jù)包,如圖所示??梢钥吹剑琎Q客戶(hù)端22登錄騰訊的QQ服務(wù)器3,在應(yīng)用層使用的是ICQ協(xié)議。因?yàn)閁DP是無(wú)連接的,即時(shí)性好、速度快、開(kāi)銷(xiāo)小,所以QQ即時(shí)通信聊天在傳輸層一般采用UDP協(xié)議。 分析通過(guò)抓包工具分析,QQ客戶(hù)端登錄服務(wù)器有三種方式,分別是(1) UDP方式。QQ的服務(wù)器端口為8000并保持不變,QQ的客戶(hù)端端口為4000。如果登錄兩個(gè)QQ,客戶(hù)端使用的端口號(hào)就分別是4000和4001;如果再登錄多個(gè)QQ,其新登錄的QQ端口號(hào)就依次是4002, 4003遞增。這個(gè)系列的服務(wù)器最

25、多,速度也是最快的。QQ上線(xiàn)會(huì)向這若干個(gè)服務(wù)器發(fā)送UDP數(shù)據(jù)包,選擇回復(fù)速度最快的一個(gè)作為連接服務(wù)器。 分析(2) TCP方式。服務(wù)器使用HTTP端口80,客戶(hù)端端口不固定。(3) TCP方式。服務(wù)器使用HTTP安全連接443端口,主要是面向VIP會(huì)員。結(jié)合上述分析,對(duì)于部分從事網(wǎng)絡(luò)管理的人員,當(dāng)需要對(duì)某些網(wǎng)絡(luò)軟件或游戲進(jìn)行控制時(shí),就需要用Ethereal來(lái)分析其使用的協(xié)議、端口號(hào)和服務(wù)器IP地址等,然后再利用訪(fǎng)問(wèn)控制或防火墻等其他技術(shù)來(lái)達(dá)到對(duì)網(wǎng)絡(luò)用戶(hù)進(jìn)行控制和管理的目的。分析如果知道QQ客戶(hù)端和服務(wù)器端使用的端口分別是4000和8000,則可以在訪(fǎng)問(wèn)控制列表中設(shè)置不允許這兩個(gè)端口的數(shù)據(jù)通過(guò),

26、這樣就達(dá)到了禁止QQ的目的。如果不允許使用HTTP協(xié)議來(lái)瀏覽網(wǎng)頁(yè),則可以在防火墻中禁止HTTP協(xié)議的數(shù)據(jù)包通過(guò)。如果不允許用戶(hù)瀏覽某IP地址,則可以在防火墻中設(shè)置該IP地址過(guò)濾。如果要禁止用戶(hù)使用網(wǎng)絡(luò)游戲,則可以通過(guò)該抓包工具分析出該游戲使用的固定端口號(hào)或IP地址,然后禁用即可。 ARP協(xié)議和以太網(wǎng)幀分析 實(shí)驗(yàn)?zāi)康?. 掌握ARP協(xié)議工作原理。2. 掌握以太網(wǎng)幀的格式。3. 學(xué)會(huì)使用協(xié)議分析軟件分析協(xié)議實(shí)驗(yàn)內(nèi)容1. 分析ARP分組。2. 分析以太網(wǎng)幀。3. 設(shè)置協(xié)議分析軟件過(guò)濾器。以太網(wǎng)幀格式 常用的以太網(wǎng) MAC 幀格式有兩種標(biāo)準(zhǔn) :IEEE 的 802.3 標(biāo)準(zhǔn)DIX Ethernet V

27、2 標(biāo)準(zhǔn)最常用的 MAC 幀是以太網(wǎng)V2格式的幀。目的地址(6)源地址(6)類(lèi)型(2)數(shù)據(jù)(46-1500)FCS(4)ARP作用ARP協(xié)議(RFC 826)實(shí)現(xiàn)了IP地址(邏輯地址)到MAC地址(物理地址)的動(dòng)態(tài)映射,并將所獲得的映射存放在ARP高速緩存表中。ARP工作過(guò)程捕獲并分析以太網(wǎng)幀 清空瀏覽器緩存在瀏覽器的地址欄中輸入網(wǎng)站地址:/ethereal-labs/HTTP-ethereal-lab-file3.html并按回車(chē),停止分組捕獲。找到你的主機(jī)向服務(wù)器發(fā)送的HTTP GET消息的Segment序號(hào),以及服務(wù)器發(fā)送到你主機(jī)上的HTTP 響應(yīng)消息的序號(hào)。抓取結(jié)果回答下列問(wèn)題1. 你

28、的計(jì)算機(jī)的48位以太網(wǎng)地址(MAC地址)是多少?2. 目標(biāo)MAC地址是服務(wù)器的MAC地址嗎?如果不是,該地址是什么設(shè)備的MAC地址?3. 給出幀頭部類(lèi)型字段(2字節(jié))的十六進(jìn)制值。4. 在包含“HTTP GET”的以太網(wǎng)幀中,字符“G”的位置是第幾個(gè)字節(jié),假設(shè)幀頭部第一個(gè)字節(jié)的順序?yàn)?。5. 以太幀的源MAC地址是多少?該地址是你主機(jī)的MAC地址嗎?是服務(wù)器的MAC地址嗎?如果不是,該地址是什么設(shè)備的MAC地址?6. 以太網(wǎng)幀的目的MAC地址是多少?該地址是你主機(jī)的地址嗎?7給出幀頭部2-字節(jié)類(lèi)型字段的十六進(jìn)制值。8 在包含“OK”的以太網(wǎng)幀中,從該幀的第一個(gè)字節(jié)算起,“O”字符是第幾個(gè)字節(jié)?

29、ARP協(xié)議分析 ARP命令A(yù)RP -a 顯示ARP緩存表的所有內(nèi)容ARP an 以IP地址顯示主機(jī)名ARP a IP地址 顯示計(jì)算機(jī)IP地址指定的計(jì)算機(jī)的表目ARP s IP地址 硬件地址 創(chuàng)建一個(gè)地址映射表目ARP d IP地址 刪除緩存中IP地址所對(duì)應(yīng)一個(gè)表目arp -s 12 00-aa-00-62-c6-09 添加靜態(tài)地址綁定項(xiàng)。arp -a 顯示 ARP 表。arp -d 清空ARP緩存表啟動(dòng)WIRESHARK,在過(guò)濾欄輸入ARP。然后打開(kāi)命令提示符,輸入arp a 顯示計(jì)算機(jī)中ARP緩存表的內(nèi)容,在執(zhí)行arp d 清空ARP緩存,接下來(lái)運(yùn)行ping 網(wǎng)關(guān)IP地址,可以發(fā)現(xiàn)協(xié)議分析器

30、已經(jīng)抓取了很多ARP數(shù)據(jù)。 ARP實(shí)驗(yàn)思考寫(xiě)下你主機(jī)ARP緩存中的內(nèi)容。其中每一列的含義是什么?包含ARP請(qǐng)求報(bào)文的以太網(wǎng)幀的源地址和目的地址的十六進(jìn)制值各是多少?給出幀頭部類(lèi)型字段的十六進(jìn)制值。從/innotes/std/std37.txt處下載ARP規(guī)范說(shuō)明。在http:/www.erg.abdn.ac.uk/users/gorry/course/inets/arp.html處有一個(gè)關(guān)于ARP的討論網(wǎng)頁(yè)。根據(jù)操作回答:1) 形成ARP響應(yīng)報(bào)文的以太網(wǎng)幀中,ARP-payload部分opcode字段的值是多少?2) 在ARP報(bào)文中是否包含發(fā)送方的IP地址?包含ARP響應(yīng)報(bào)文的以太網(wǎng)幀中,源地

31、址和目的地址的十六進(jìn)制值各是多少?B主機(jī)捕獲不到A主機(jī)發(fā)出的ARP請(qǐng)求分組。因?yàn)锳主機(jī)發(fā)出的封裝ARP請(qǐng)求分組的幀的源地址是A,目的地址是廣播地址,不匹配捕獲條件(station1B,station2any)。Address Type捕獲條件設(shè)為IP,將不能捕獲到ARP分組。因?yàn)樵O(shè)為IP則是根據(jù)IP首部中的地址信息捕獲,但是ARP分組直接封裝在數(shù)據(jù)幀中傳輸,沒(méi)有IP首部,只能根據(jù)幀中的MAC地址(hardware地址)進(jìn)行捕獲。如果Station2的地址設(shè)置成為對(duì)方主機(jī)的地址,將只能捕獲到ARP響應(yīng)分組,但沒(méi)有ARP請(qǐng)求分組。因?yàn)锳RP請(qǐng)求分組是廣播發(fā)送的,即封裝該分組的數(shù)據(jù)幀的目的地址是廣播

32、地址,與Station1和Station2的地址均不匹配。如果Station1和Station2的地址均設(shè)置成為any,將能捕獲到同一以太網(wǎng)上其他實(shí)驗(yàn)小組內(nèi)交互的ARP請(qǐng)求分組,但沒(méi)有ARP響應(yīng)分組和IP分組。因?yàn)锳RP請(qǐng)求分組是封裝在廣播幀中發(fā)送的,而實(shí)驗(yàn)室中連接計(jì)算機(jī)的以太網(wǎng)交換機(jī)不阻隔廣播幀,所以此時(shí)每臺(tái)計(jì)算機(jī)都能收到該以太網(wǎng)上的ARP請(qǐng)求分組。但是ARP響應(yīng)分組和IP分組都是單播發(fā)送的,交換機(jī)會(huì)阻隔單播幀,因而捕獲不到目的不是自己的ARP響應(yīng)分組和IP分組。網(wǎng)絡(luò)層協(xié)議分析 一、實(shí)驗(yàn)?zāi)康?. 掌握網(wǎng)絡(luò)層協(xié)議。2. 掌握TCP/IP體系結(jié)構(gòu)3. 掌握 ping 和 tracert 命令的使

33、用方法4. 了解 ICMP 協(xié)議報(bào)文類(lèi)型及作用。5. 理解IP協(xié)議報(bào)文類(lèi)型和格式。6. 掌握IP協(xié)議分析的方法7. 加深網(wǎng)絡(luò)層協(xié)議的理解8.學(xué)會(huì)使用網(wǎng)絡(luò)分析工具二、實(shí)驗(yàn)內(nèi)容1. 分析IP協(xié)議格式。2. 分析ICMP協(xié)議格式。3. 分析ARP協(xié)議。TCP/IP體系結(jié)構(gòu)IP分組格式IP協(xié)議分析1. 打開(kāi)網(wǎng)絡(luò)分析工具軟件2. 抓取瀏覽器數(shù)據(jù)包步驟1:截獲 PC1 上 ping PC2 的報(bào)文,結(jié)果保存為 IP-學(xué)號(hào);步驟2:任取一個(gè)數(shù)據(jù)報(bào),分析 IP 協(xié)議的報(bào)文格式;3. 停止抓包。4. 存儲(chǔ)所捕獲的數(shù)據(jù)包。5. 分析數(shù)據(jù)包。傳輸層協(xié)議分析一、實(shí)驗(yàn)?zāi)康?. 理解UDP協(xié)議的工作原理。2. 掌握UDP

34、的數(shù)據(jù)包格式。3. 掌握TCP建立連接過(guò)程。4. 利用WireShark對(duì)TCP協(xié)議進(jìn)行分析。5. 掌握TCP協(xié)議的工作原理。6. 理解TCP協(xié)議的通信過(guò)程。 二、實(shí)驗(yàn)內(nèi)容1. 學(xué)習(xí)UDP協(xié)議的通信過(guò)程;2. 學(xué)會(huì)手工計(jì)算UDP校驗(yàn)和;3. 理解TCP首部中各字段的含義及作用;4. 理解三次握手的過(guò)程;5. 能夠分析TCP協(xié)議的建立連接、會(huì)話(huà)和斷開(kāi)連接的全過(guò)程;6. 學(xué)會(huì)計(jì)算TCP校驗(yàn)和的方法;7. 了解TCP的標(biāo)志字段的作用。TCP/IP體系結(jié)構(gòu)的傳輸輸層有兩個(gè)主要協(xié)議:用戶(hù)數(shù)據(jù)報(bào)協(xié)議 UDP (User Datagram Protocol)傳輸控制協(xié)議 TCP (Transmission

35、Control Protocol)UDP數(shù)據(jù)報(bào)格式UDP分組的偽首部 TCP報(bào)文段格式 應(yīng)用層協(xié)議分析 一、實(shí)驗(yàn)?zāi)康?. 理解HTTP協(xié)議格式。2. 理解HTTP請(qǐng)求報(bào)文和響應(yīng)報(bào)文的首部含義。3. 理解FTP客戶(hù)機(jī)和服務(wù)器交互過(guò)程。4. 掌握FTP下載文件方法。5. 學(xué)習(xí)FTP的常用命令的使用。6. 掌握DNS工作過(guò)程。二、實(shí)驗(yàn)內(nèi)容1. 分析HTTP報(bào)頭結(jié)構(gòu)。2. 分析FTP客戶(hù)機(jī)和服務(wù)器交互過(guò)程。3. 分析DNS工作過(guò)程。4. 分析DNS協(xié)議。實(shí)驗(yàn)步驟見(jiàn)實(shí)驗(yàn)教材100第4章 網(wǎng)絡(luò)編程實(shí)驗(yàn)實(shí)驗(yàn)16 基于TCP的套接字編程一、實(shí)驗(yàn)?zāi)康?. 了解套接字編程的基本步驟。2. 掌握常用的套接字API。

36、3. 掌握編寫(xiě)基于TCP的服務(wù)器的基本思路。4. 掌握編寫(xiě)基于TCP的客戶(hù)端的基本流程。 5. 理解套接字編程的相關(guān)概念和數(shù)據(jù)結(jié)構(gòu)。6. 理解Windows 套接字編程的函數(shù)調(diào)用。二、實(shí)驗(yàn)內(nèi)容1. 套接字編程。2. Windows套接字編程。3. 編寫(xiě)TCP服務(wù)器程序。4. 編寫(xiě)TCP客戶(hù)端網(wǎng)絡(luò)中計(jì)算機(jī)之間進(jìn)程的通信方式通常可以劃分為兩大類(lèi):客戶(hù)服務(wù)器模式(Client/Server模式)簡(jiǎn)稱(chēng)C/S 模式對(duì)等模式(Peer-to-Peer模式)也即P2P 模式在客戶(hù)服務(wù)器通信方式中,客戶(hù)(client)和服務(wù)器(server)都是指通信中所涉及的兩個(gè)應(yīng)用進(jìn)程??蛻?hù)/服務(wù)器模式描述的是進(jìn)程之間服

37、務(wù)和被服務(wù)的關(guān)系??蛻?hù)是服務(wù)的請(qǐng)求方,服務(wù)器是服務(wù)的提供方??蛻?hù)服務(wù)器通信模式 理解套接字(SOCKET) SOCKET接口是基于TCP/IP體系結(jié)構(gòu)網(wǎng)絡(luò)中最常用的應(yīng)用程序接口,編程人員可以通過(guò)調(diào)用各種API進(jìn)行網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā),SOCKET也是目前在因特網(wǎng)上進(jìn)行網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)的使用最廣泛的API。 Microsoft公司聯(lián)合其他計(jì)算機(jī)軟硬件廠(chǎng)商在上個(gè)世紀(jì)90年代共同開(kāi)發(fā)了一套Windows下的網(wǎng)絡(luò)編程接口,即Windows Sockets規(guī)范。 有三種類(lèi)型的套接字:流式套接字(SOCK_STREAM)數(shù)據(jù)報(bào)套接字(SOCK_DGRAM)原始套接字(SOCK_RAW)。套接字(SOCKET)庫(kù)函數(shù)和

38、數(shù)據(jù)結(jié)構(gòu) 初始化函數(shù)WSAStartup()初始化Winsock的示例代碼:#include / 對(duì)于Winsock 2.0,應(yīng)包括 Winsock2.h文件aa() WORD wVersionRequested; / 應(yīng)用程序所需的Winsock版本號(hào)WSADATA wsaData; / 用來(lái)返回Winsock 實(shí)現(xiàn)的細(xì)節(jié)信息。Int err; / 出錯(cuò)代碼。wVersionRequested =MAKEWORD(1,1); / 生成版本號(hào)1.1。err = WSAStartup(wVersionRequested, &wsaData ); / 調(diào)用初始化函數(shù)。if (err!=0 ) re

39、turn; / / 通知用戶(hù)找不到合適的DLL文件。/ 確認(rèn)返回的版本號(hào)是客戶(hù)要求的1.1if ( LOBYTE(wsaData.wVersion )!=1 | HYBYTE(wsaData.wVersion )!=1) WSACleanup(); return; Winsock的注銷(xiāo) 當(dāng)程序使用完Winsock.DLL提供的服務(wù)后,應(yīng)用程序必須調(diào)用WSACleanup()函數(shù),來(lái)解除與Winsock.DLL庫(kù)的綁定,釋放Winsock實(shí)現(xiàn)分配給應(yīng)用程序的系統(tǒng)資源,中止對(duì)Windows Sockets DLL的使用。 int WSACleanup ( void ); 創(chuàng)建套接字函數(shù)SOCKET

40、() SOCKET socket(int af, int type, int protocol); 第一個(gè)參數(shù)af表示協(xié)議簇,AF_INET:IPV4協(xié)議AF_INET6:IPV6協(xié)議AF_LOCAL:UNIX域協(xié)議AF_ROUTE:路由套接字AF_KEY:秘鑰套接字第二個(gè)參數(shù)type表示創(chuàng)建的套接字類(lèi)型SOCK_STREAM:字節(jié)流套接字SOCK_DGRAM:數(shù)據(jù)報(bào)套接字SOCK_RAW:原始套接字第三個(gè)參數(shù)一般取值為0創(chuàng)建一個(gè)流式套接字:SOCKET sockfd=socket( AF_INET, SOCK_STREAM, 0); 創(chuàng)建一個(gè)數(shù)據(jù)報(bào)套接字:SOCKET sockfd=sock

41、et( AF_INET, SOCK_DGRAM, 0); 將套接字綁定到指定的網(wǎng)絡(luò)地址BIND()int bind( SOCKET s, const struct sockaddr * name, int namelen);舉例:SOCKET serSock; / 定義了一個(gè)SOCKET 類(lèi)型的變量。sockaddr_in my_addr; / 定義一個(gè)sockaddr_in型的結(jié)構(gòu)實(shí)例變量。int err; / 出錯(cuò)碼。 int slen=sizeof( sockaddr); / sockaddr 結(jié)構(gòu)的長(zhǎng)度。serSock = SOCKET(AF_INET, SOCK_DGRAM,0 );

42、 / 創(chuàng)建數(shù)據(jù)報(bào)套接字。memset(my_addr,0); / 將sockaddr_in的結(jié)構(gòu)實(shí)例變量清零。my_addr.sin_family = AF_INET; / 指定通信域是Internet。my_addr.sin_port = htons(21); / 指定端口,將端口號(hào)轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序。 /指定IP地址,將IP地址轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序。my_addr.sin_addr.s_addr = htonl( INADDR-ANY); /將套接字綁定到指定的網(wǎng)絡(luò)地址,對(duì)&my_addr進(jìn)行了強(qiáng)制類(lèi)型轉(zhuǎn)換。if(bind(serSock, (LPSOCKADDR )&my_addr, sl

43、en) = SOCKET_ERROR )/調(diào)用WSAGetLastError()函數(shù),獲取最近一個(gè)操作的錯(cuò)誤代碼。err = WSAGetLastError();/ 以下可以報(bào)錯(cuò),進(jìn)行錯(cuò)誤處理。 啟動(dòng)服務(wù)器監(jiān)聽(tīng)客戶(hù)端的連接請(qǐng)求LISTEN()int listen( SOCKET s, int backlog);接收連接請(qǐng)求ACCEPT()SOCKET accept( SOCKET s, struct sockaddr* addr, int* addrlen);連接目標(biāo)服務(wù)器CONNECT()int connect( SOCKET s, struct sockaddr * name, int n

44、amelen); structsockaddr_insaddr; /*服務(wù)器地址*/memset(void*)&saddr,0,sizeof(saddr); /*清零*/saddr.sin_family=AF_INET; /*協(xié)議族*/saddr.sin_port=htons(6666); /*服務(wù)器端口6666*/saddr.sin_addr.s_addr=inet_addr();/*假設(shè)服務(wù)器IP地址為*/connect(ClientSocket,(structsockaddr*)&saddr,sizeof(saddr); /*連接服務(wù)器*/向一個(gè)已連接的套接口發(fā)送數(shù)據(jù)send()int

45、send( SOCKET s, char * buf, int len, int flags); 從一個(gè)已連接套接口接收數(shù)據(jù)RECV()int recv( SOCKET s, char * buf, int len, int flags);向套接字發(fā)送和接收數(shù)據(jù) 按照指定目的地向數(shù)據(jù)報(bào)套接字發(fā)送數(shù)據(jù)SENDTO()int sendto( SOCKET s, char * buf, int len, int flags, struct sockaddr * to, int tolen);接收一個(gè)數(shù)據(jù)報(bào)并保存源地址,從數(shù)據(jù)報(bào)套接字接收數(shù)據(jù)RECVFORM()int recvfrom( SOCKET

46、 s, char * buf, int len, int flags, struct sockaddr* from, int* fromlen);關(guān)閉套接字CLOSESOCKET()int closesocket( SOCKET s);禁止在一個(gè)套接口上進(jìn)行數(shù)據(jù)的接收與發(fā)送SHUTDOWN()int shutdown( SOCKET s, int how); 計(jì)算機(jī)存放多字節(jié)整數(shù)的方式 htonl() 將主機(jī)的無(wú)符號(hào)長(zhǎng)整型數(shù)本機(jī)順序轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序 (Host to Network Long),用于IP地址。htonl()返回一個(gè)網(wǎng)絡(luò)字節(jié)順序的值。htons() 將主機(jī)的無(wú)符號(hào)短整型數(shù)轉(zhuǎn)換成

47、網(wǎng)絡(luò)字節(jié)順序(Host to Network Short),用于端口號(hào)。htons()返回一個(gè)網(wǎng)絡(luò)字節(jié)順序的值。 ntohl()將一個(gè)無(wú)符號(hào)長(zhǎng)整型數(shù)從網(wǎng)絡(luò)字節(jié)順序轉(zhuǎn)換為主機(jī)字節(jié)順序。(Network to Host Long),用于IP地址。ntohl()返回一個(gè)以主機(jī)字節(jié)順序表達(dá)的數(shù)。ntohs() 將一個(gè)無(wú)符號(hào)短整型數(shù)從網(wǎng)絡(luò)字節(jié)順序轉(zhuǎn)換為主機(jī)字節(jié)順序。ntohs()返回一個(gè)以主機(jī)字節(jié)順序表達(dá)的數(shù)。 基于TCP的網(wǎng)絡(luò)程序設(shè)計(jì) 服務(wù)器端程序執(zhí)行流程主要包括:初始化創(chuàng)建套接字(socket()),套接字與端口的綁定(bind()),設(shè)置服務(wù)器的偵聽(tīng)連接(listen()),接受客戶(hù)端連接(acc

48、ept()),接收和發(fā)送數(shù)據(jù)(read()、write())并進(jìn)行數(shù)據(jù)處理,處理完畢的套接字關(guān)閉(close())。客戶(hù)端程序執(zhí)行流程 套接字初始化(socket())連接服務(wù)器(connect())讀寫(xiě)網(wǎng)絡(luò)數(shù)據(jù)(read()、write())并進(jìn)行數(shù)據(jù)處理最后的套接字關(guān)閉(close())過(guò)程。實(shí)驗(yàn)17 基于UDP的套接字編程一、實(shí)驗(yàn)?zāi)康?. 掌握套接字編程的基本概念。2. 掌握套接字函數(shù)。3. 掌握編寫(xiě)基于UDP的服務(wù)器的基本流程。4. 掌握編寫(xiě)基于UDP的客戶(hù)端的基本流程。 5. 理解如何編寫(xiě)基于UDP的套接字應(yīng)用的過(guò)程。二、實(shí)驗(yàn)內(nèi)容1. 進(jìn)一步學(xué)習(xí)套接字編程。2. 基于UDP的套接字編

49、程。3. 編寫(xiě)UDP服務(wù)器程序。4. 編寫(xiě)UDP客戶(hù)程序在UDP中進(jìn)行數(shù)據(jù)收發(fā)的函數(shù)是sendto()和recvfrom()。函數(shù)原型如下:int sendto (/發(fā)送函數(shù) SOCKET s, /套接字句柄 const char FAR * buf,/數(shù)據(jù)緩沖區(qū) int len,/數(shù)據(jù)的長(zhǎng)度 int flags, /一般設(shè)置為0 const struct sockaddr FAR * to,/目標(biāo)地址結(jié)構(gòu)信息 int tolen /目標(biāo)地址結(jié)構(gòu)大小 );一個(gè)UDP發(fā)送程序步驟1.用WSAStartup函數(shù)初始化Socket環(huán)境;2.用socket函數(shù)創(chuàng)建一個(gè)套接字;3.用setsockopt

50、函數(shù)設(shè)置套接字的屬性,例如設(shè)置為廣播類(lèi)型;很多時(shí)候該步驟可以省略;4.創(chuàng)建一個(gè)sockaddr_in,并指定其IP地址和端口號(hào);5.用sendto函數(shù)向指定地址發(fā)送數(shù)據(jù),不需要綁定,即使綁定了,其地址也會(huì)被sendto中的參數(shù)覆蓋;若使用send函數(shù)則會(huì)出錯(cuò),因?yàn)閟end是面向連接的,而UDP是非連接的,只能使用sendto發(fā)送數(shù)據(jù);6.用closesocket函數(shù)關(guān)閉套接字;7.用WSACleanup函數(shù)關(guān)閉Socket環(huán)境?;赨DP的網(wǎng)絡(luò)程序流程 UDP服務(wù)器程序流程如下:創(chuàng)建一個(gè)socket,用函數(shù)socket(); 設(shè)置socket屬性,用函數(shù)setsockopt();* 可選 綁定

51、IP地址、端口等信息到socket上,用函數(shù)bind(); 循環(huán)接收數(shù)據(jù),用函數(shù)recvfrom(); 關(guān)閉網(wǎng)絡(luò)連接;129網(wǎng)絡(luò)設(shè)計(jì)模擬軟件PacketTracer的使用130實(shí)驗(yàn)?zāi)康氖炀氄莆帐褂肞acket Tracer軟件搭建網(wǎng)絡(luò)邏輯拓?fù)鋱D。熟練掌握使用Packet Tracer軟件搭建網(wǎng)絡(luò)物理拓?fù)鋱D。掌握Packet Tracer軟件中主機(jī)與服務(wù)器的基本配置。掌握使用Packet Tracer軟件中對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)抓包和分析131實(shí)驗(yàn)設(shè)備及軟件實(shí)驗(yàn)所需設(shè)備:微型計(jì)算機(jī)1臺(tái),配置如下:CPU:P4或以上內(nèi)存:2G或以上硬盤(pán)空余容量:2G或以上預(yù)裝Windows7、8或10,實(shí)驗(yàn)所需軟件Cis

52、co Packet Tracer 6.2或更高版本熟悉Packet Tracer軟件的基本功能熟悉軟件界面新建、保存和打開(kāi)文件在工作區(qū)添加文本框添加和修改幾何圖形使用幫助132133熟悉軟件界面134新建、保存和打開(kāi)文件使用主工具欄,新建一個(gè)文件,保存時(shí),命名為lab1.pkt。關(guān)閉軟件,再次打開(kāi)軟件,使用打開(kāi)按建,找到lab1.pkt文件,將其打開(kāi)135在工作區(qū)添加文本框使用右側(cè)的常用工具欄,在工作區(qū)添加一個(gè)文本框,輸入字符“文本框示例”。然后將其拖動(dòng)到工作區(qū)右上角。136添加和修改幾何圖形使用常用工具欄的添加幾何圖形按扭,在工作區(qū)添加一個(gè)沒(méi)有邊框,填充顏色為紅色的矩形圖形。然后使用常用工具

53、樣的改變圖形大小工具,將矩形放大。使用幫助單擊菜單欄的的help菜單的第一選項(xiàng)content,會(huì)在瀏覽器里打開(kāi)幫助文檔(圖1-13),其中有很多關(guān)于軟件使用的說(shuō)明,其中特別注意的是Modeling這一部分,這一部分給出了OSI七層的模型,以及關(guān)于各種協(xié)議數(shù)據(jù)包的處理流程圖。137搭建網(wǎng)絡(luò)邏輯拓?fù)鋱D添加設(shè)備復(fù)制設(shè)備為設(shè)備添加模塊、刪除模塊添加和刪除連接顯示或隱藏設(shè)備名稱(chēng)、設(shè)備型號(hào)與接口名稱(chēng)138添加設(shè)備單擊設(shè)備選擇窗內(nèi)的1841路由器,1841路由器圖標(biāo)變成禁止符號(hào),指針移動(dòng)到工作區(qū)域時(shí),變成+號(hào),單擊工作區(qū)域便添加了一臺(tái)1841路由器。添加設(shè)備也可直接在設(shè)備選擇窗內(nèi)將設(shè)備拖動(dòng)到工作區(qū)域,也可以

54、按住Ctrl鍵的同時(shí)點(diǎn)擊設(shè)備,可以一次添加多臺(tái)設(shè)備。在工作區(qū)增加兩臺(tái)1841路由器,單擊設(shè)備名稱(chēng),將設(shè)備名稱(chēng)其改為R1和R2。139復(fù)制設(shè)備按住Ctrl鍵的同時(shí),拖動(dòng)設(shè)備即可復(fù)制設(shè)備,如果拖動(dòng)前已選擇多臺(tái)設(shè)備,則拖動(dòng)時(shí)復(fù)制多臺(tái)設(shè)備。復(fù)制一臺(tái)R2設(shè)備,將其名稱(chēng)改為R3。140為設(shè)備添加、刪除模塊單擊設(shè)備圖標(biāo),注意不要單擊設(shè)備名稱(chēng),彈出設(shè)備配置對(duì)話(huà)框,此對(duì)話(huà)框有三個(gè)標(biāo)簽,分別為物理、配置和命令行界面(圖16-2)。添加模塊前,先要關(guān)閉電源,單擊電源開(kāi)關(guān),綠色指示燈滅表示電源已關(guān)閉。從模塊列表中選擇相應(yīng)的模塊,拖動(dòng)到對(duì)應(yīng)的插槽即可為設(shè)備添加模塊。刪除模塊時(shí),先將電源關(guān)閉,然后將模塊拖回到模塊列表即可

55、。141為設(shè)備添加模塊142添加、刪除連接添加連接時(shí),點(diǎn)擊設(shè)備類(lèi)型窗口中的連線(xiàn)圖標(biāo),設(shè)備選擇窗口中的設(shè)備便會(huì)切換到各種連線(xiàn)(下圖)??梢允褂米詣?dòng)判斷類(lèi)型讓軟件自動(dòng)判斷所用的線(xiàn)與接口(無(wú)法選擇接口,軟件自動(dòng)選擇)。點(diǎn)擊交叉線(xiàn),圖標(biāo)變?yōu)榻狗?hào),指針變成連接頭符號(hào)。143添加、刪除連接移動(dòng)連接頭,單擊工作區(qū)域內(nèi)的設(shè)備圖標(biāo),彈出該設(shè)備的接口列表,選擇一個(gè)以太網(wǎng)接口并單擊,移動(dòng)連接頭,連接頭與設(shè)備間就有了一根連接線(xiàn)。再單擊右邊設(shè)備,彈出該設(shè)備的接口列表,選擇一個(gè)接口單擊即可完成連接。刪除連接時(shí),單擊常用工具欄上的刪除按鈕,指針變成X形狀,單擊要?jiǎng)h除的線(xiàn),即可刪除該連接線(xiàn)。144顯示或隱藏設(shè)備名稱(chēng)、設(shè)備

56、型號(hào)與接口名稱(chēng)可以設(shè)置在工作區(qū)域顯示連接線(xiàn)兩端的接口標(biāo)簽,點(diǎn)擊Option菜單的Preferences選項(xiàng),彈出Preferences對(duì)話(huà)框,在Interface選項(xiàng)卡下,選中Always show Port Labels前的復(fù)選框。此時(shí),就可以在工作區(qū)域顯示連接線(xiàn)兩端的接口標(biāo)簽了。可以在工作區(qū)域內(nèi)顯示或隱藏設(shè)備名稱(chēng)及設(shè)備型號(hào),只需要在Preferences對(duì)話(huà)框的Interface選項(xiàng)卡下,選中或者取消選中相應(yīng)的復(fù)選框及可。145搭建網(wǎng)絡(luò)物理拓?fù)鋱D切換到物理視圖新建城市、建筑與設(shè)備間將設(shè)備移動(dòng)到指定地點(diǎn)查看物理視圖中線(xiàn)纜的屬性改變線(xiàn)纜顏色與屬性查看設(shè)備指示燈146切換到物理視圖單擊工作區(qū)左上

57、角的視圖切換按鈕,切換到物理視圖。147新建城市、建筑與設(shè)備間點(diǎn)擊New City標(biāo)簽,新建一個(gè)城市,拖動(dòng)新建的城市至原城市右邊,雙擊城市的名稱(chēng),將名稱(chēng)改為My City。單擊新建城市圖標(biāo),進(jìn)入城市視圖,點(diǎn)擊New Building標(biāo)簽,新建兩個(gè)建筑,一個(gè)為Home Building,一個(gè)為Office Building,并移動(dòng)到恰當(dāng)位置。148新建城市、建筑與設(shè)備間分別單擊進(jìn)入兩個(gè)建筑,在Home Building中建立一個(gè)名為C1的布線(xiàn)間,在Office Building中建立一個(gè)各為C2的布線(xiàn)間。注意新建物體都在左上角,有時(shí)需要移動(dòng)下方和右方滑塊才能看到。點(diǎn)擊NAVIGATION標(biāo)簽,可

58、以彈出導(dǎo)航窗口,導(dǎo)航窗口列出了所有的位置,可以點(diǎn)擊要去的位置,然后點(diǎn)最下方的Jump to selected location跳轉(zhuǎn)到相應(yīng)的位置視圖。點(diǎn)擊一臺(tái)設(shè)備名稱(chēng),再點(diǎn)擊跳轉(zhuǎn)按鈕,即跳到設(shè)備所在的位置。149將設(shè)備移動(dòng)到指定地點(diǎn)點(diǎn)擊物理視圖上方的Move Object標(biāo)簽,指針變?yōu)槭中螤?,然后單擊設(shè)備,彈出地點(diǎn)列表,選擇想到移動(dòng)的目的地并單擊,即可將設(shè)備移動(dòng)到指定位置。將R2移動(dòng)到Home Building的C1設(shè)備間。以同樣的步驟將R3移動(dòng)到Office Building的C2設(shè)備間。移動(dòng)完成后,切換到My City視圖下,可以看到兩棟建筑間由一根黑色的線(xiàn)連接起來(lái)了。150查看物理視圖中

59、線(xiàn)纜的屬性移動(dòng)鼠標(biāo),將指針停留在線(xiàn)纜上方時(shí),將會(huì)顯示線(xiàn)纜的屬性。151改變線(xiàn)纜顏色與屬性如果拓?fù)浔容^復(fù)雜,可以通過(guò)改變線(xiàn)纜的顏色在直觀(guān)上區(qū)分不同的線(xiàn)纜:?jiǎn)螕艟€(xiàn)纜,彈出選項(xiàng),點(diǎn)擊Color Cable,彈出拾色器,選擇所需要的顏色(藍(lán)色)后點(diǎn)擊OK即可。給線(xiàn)纜添加拐點(diǎn),讓其更符合實(shí)際情況。添加單擊線(xiàn)纜,彈出選項(xiàng),選擇第一項(xiàng)Create BendPoint,線(xiàn)纜中間多出一個(gè)黑色的方塊。移動(dòng)方塊到達(dá)指定位置即可。可以增加多個(gè)方塊??梢酝ㄟ^(guò)這種方法,來(lái)查看當(dāng)雙絞線(xiàn)長(zhǎng)度超過(guò)100米時(shí),兩端設(shè)備無(wú)法通信的現(xiàn)象。152查看設(shè)備指示燈進(jìn)入C1設(shè)備間,點(diǎn)擊工具欄上的放大按鈕,放大設(shè)備。此時(shí),可以查看設(shè)備背部的各

60、種指示燈的狀態(tài)。153主機(jī)與服務(wù)器的基本配置在工作區(qū)添加主機(jī)與服務(wù)器將筆記本電腦的有線(xiàn)網(wǎng)卡更換成無(wú)線(xiàn)網(wǎng)卡更改主機(jī)或服務(wù)器的MAC地址配置主機(jī)與服務(wù)器的IP地址使用模擬命令行使用模擬軟件使用數(shù)據(jù)包生成器154在工作區(qū)添加主機(jī)與服務(wù)器添加主機(jī)與服務(wù)器:在設(shè)備類(lèi)型窗口選擇終端設(shè)備,從設(shè)備窗口拖放一臺(tái)PC機(jī),一臺(tái)筆記本電腦,一臺(tái)服務(wù)器到工作區(qū)域,分別命名為PC1,L1和S1。155將筆記本電腦的有線(xiàn)網(wǎng)卡更換成無(wú)線(xiàn)網(wǎng)卡點(diǎn)擊筆記本電腦,彈出設(shè)備配置對(duì)話(huà)框,先關(guān)閉電源,然后將有線(xiàn)網(wǎng)卡拖回到模塊列表中。再將對(duì)應(yīng)的無(wú)線(xiàn)網(wǎng)卡拖到空出來(lái)的插槽上,然后打開(kāi)電源。156更改主機(jī)或服務(wù)器的MAC地址這個(gè)一般不是必須步驟,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論