试验二:Ethereal--Lab-——-HTTP协议_第1页
试验二:Ethereal--Lab-——-HTTP协议_第2页
试验二:Ethereal--Lab-——-HTTP协议_第3页
试验二:Ethereal--Lab-——-HTTP协议_第4页
试验二:Ethereal--Lab-——-HTTP协议_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品实验二:Ethereal LabHTTP 协议一、实验目的通过本次实验,利用Ethereal软件从以下几个方面研究 HTTP协议的运行机制:实验2-1 :基本的GET/response交换;实验2-2 :HTTP的有条件GET/response交互;实验2-3 :利用HTTP获取大的HTML文件;实验2-4 :利用HTTP获取带有嵌入式对象的HTML文件;实验2-5 : HTTP认证与安全、实验原理万维网(World Wide Web,WWW)是一种基于因特网的分布式信息查询系统。WWW的工作基于客户机/服务器模型,由Web浏览器(客户机)向Web服 务器(服务器)请求由超文本标记语言(H

2、TML)编辑的网页,Web服务器进行响应, 返回相应网页,两者之间采用超文本传送协议(HTTP)进行通信。HTTP有两种报文类型:请求报文和响应报文。请求报文的格式如下图1,响应报文格式如下图2 :图1 : HTTP请求报文图2 : HTTP响应报文浏览器可以缓存最近请求过的对象的拷贝,避免再次向服务器请求该对象, 减少响应时间。但是缓存的对象有可能因为服务器端最近做过修改而变得陈旧,HTTP允许浏览器证实缓存的对象是否是最新的,即条件 GET方法。条件GET方法在请求报文中使用 GET方法,并包含一个If-Modified-Since 首部行,含 义是告诉服务器仅当自指定日期之后修改过该对象

3、时才发送该对象。如果服务器在指定日期后并未修改该对象,则不再返回该对象。网页是由对象组成的,对象如 HTML文件、JPEG图形文件、Java小程序 等等。多数Web页含有一个基本的HTML文件和多个引用对象,在基本的HTML 文件中通过对象的URL地址对对象进行引用,对象可能存储在多个不同的服务 器上,浏览器通过对象的URL地址向不同的服务器发出请求。三、实验步骤与实验问题探讨【注:实验步骤应用(x),问题用x】1. 基本的 HTTP GET/response交互下面利用HTTP获取一个简单的HTML文件(一个非常短且不含有嵌入式 对象的文件)。按下列步骤操作:(1) 打开网页浏览器启动Eth

4、ereal分组嗅探器(但还不要开始数据包抓取)。在 display-filter-specification窗口中输入 “http ”,这样在 packet-listing 窗口将只显示被抓取的HTTP数据包。(3) 等待超过一分钟时间(稍后解释为什么),然后开始Ethereal分组抓取(4) 在浏览器中输入/ethereal-labs/HTTP-ethereal-file1.html.浏览器应显示这个非常简单的只有一行的HTML文件。(5) 停止Ethereal数据抓取。Ethereal窗口应该看起来与图1相似.(6) (注意:如果你无法建立一个

5、网络连接并运行Ethereal,可以下载一个分组trace文件,它是按照上述步骤在某主机上执行后由Ethereal捕获到的数据文件.下载 /ethereal-labs/ethereal-traces.zip压缩文件,然后解压文件http-ethereal-trace-1, 你就可以用File下拉菜单中的Open命令来装载它并查看结果。(应与图1相似)-标注1图1中显示在packet-listing窗口中有两个HTTP数据包被捕获:C1GET数据 包(从你的浏览器到网络服务器);(2响应数据包(从服务器 到你的浏览器

6、)。Packet-contents窗口显示了被选择数据包的细节。(图中选择 显示的是HTTP GET数据包)。既然HTTP数据包是被封装在TCP报文段中传送的, 而TCP报文段是被封装在IP数据包中传递,IP数据包又是在以太网帧中传递的, 所以Ethereal还显示了帧、以太网、IP、TCP的分组信息。这里将显示的非HTTP数据最小化(这里我们只对HTTP感兴趣,将在后续实验中研究其它协议),因此 要确保帧、以太网、IP、TCP信息的最左端呈现指向右的箭头或加号(这表示有 隐藏的信息),而HTTP行有一个指向下的箭头或减号(表明关于 HTTP数据的所 有信息都显示了)(注意:你应该对favic

7、on.ico产生的HTTP GET/response忽略 不计。如果你看到对这个文件的一个引用(referenee ),它是你的浏览器在自动 的向服务器询问是否服务器有一个小的图标文件,该文件应紧随被显示的URL在浏览器中显示。我们将忽略实验中对该麻烦文件的所有引用。)- 可编辑 -精品£ EsQkS的孑 2H IB S F Setw.fTTP-iiripf沖釦-T十*- 可编辑 -t n'JiH * <?1.0 IVCB5 311 VlF-tiUsTii CJpitiXfifliB rmfw Et. m ccuMiiMfiiui, mi口 rrmirw prorrml

8、, sfc mm-* iw.ia.XLiann Ad*! ijh_ul«_H5_L2 CLJa_m_i4LU)b hymmIisIm covErtil irsuoML rari Ml M1IM. me wts- htw <W九Mb SliNIIKlL tmi D HjfBEifE rr F PFISTaCll» stsjl-l/rrrTF-4thfir4d1-Tl1fil. rinl mTti.lxrmriaFU. mwi .«di»VSnucap! MI2111 Sjl, a (tfl rilo U' hfl ri±M«

9、; P.T 1.1" fifl-LE. !->-創 QOCltiJlmZJJIi FJffT LpO/ L £<LF V)嵐亡利ipfil 1 c*t Hit恤stsiMMUini tWi i iat/Ml.埔pl tcic 1ortr mls iftpl k lai I QrVihid1««g 1 Tt«E/hbil;聊口, Hatinx/ijl dire. 二匚A|J1: «n -uSa *-亍亠丹廿*Accqpl-XJKEidHi ! m工 *R5, d-rf II drt-ii,. -i mpri 11 iD. Q

10、X.P'yri9 £19 USt-lv HUf-Vl tt| *|4|r4i MMVIk napJbl 4 v* : 1 AiD1. nCsriwcE hoi : k««p-Al iwiVV盯-«H 鬥电-5冷卄- w仁 3W A 吟?1 -41 -on rMDrXinH-3nL*Mt dim "iJblr-?,e-bG&5<:3Kk,i krnCietw<wrol: nuifsj'geMVXflVrtHt IIVIIMIJP.F!> IN 4鼻禺?5 H5n I- Q 8 TJ fr fl ft n

11、- -blr-fa 6 t T-h.J i -r-4 u-e 。&- - J 25 _0J rj A oo c b r -J .J 9 . T- :卜 p B>-D A- >_丄口日? du Dr 略2 £.-*1.2|1 H n? 口卄Mw讨 S.KH/Jrrsb-S"vu c p-8 d-of-£ A- n 4 r m 吐& ar. riMF«-二'小*3鼻|;MT湖 3昌4 1 WT*/l ! QJlJ.L Mu. s J£1TiJW77T7 El - _ . _ V. W! -2.纠 T ethir1

12、1出Z 伽"t £ .上加srdwwi 二 li已被你浏览器获取后图 1 :在 /ethereal-labs/ HTTP-etherealfile1.htmlEthereal显示界面查阅HTTP GET和response报文的相关信息,回答下列问题:1你的浏览器正运行的HTTP版本号是1.0还是1.1?服务器运行的HTTP版本号是多少?答:你的浏览器是1.1版本服务器运行的HTTP1.1版本2 你的浏览器向服务器表示它可以接受哪些语言?答: en-us,en ;3 你的主机IP地址是多少? 服

13、务器的IP是多少?答:主机:02服务器:24 从服务器向你的浏览器返回的状态代码是什么?答:200 OK5 你正获取的 HTML 文件在服务器上最后一次被修改是什么时间?答: Last Modified :Tue,23sep 2003 05:29:50 GMT6 有多少字节的内容被返回到你的浏览器?答: Content-length :73 字节7观察packet content window的原始数据,你可以看到一些未被显示在packet-listing window 的一些头部吗?如果有,列举一个。答:没有在你回答问题 5时,你会吃惊的发现你

14、刚刚下载的文档在你下载前的一分钟 内被修改的。这是因为 服务器针对这一特定文件每隔一分钟 将这一文件的最后修改时间设置为当前时间。 因此,如果你在两次读取之间等待 一分钟,文件将显示最近被修改过, 因此,你的浏览器将下载该文档的一份 “新” 拷贝。2. HTTP 有条件 GET/response 交互 大多数网页浏览器进行对象缓存,因而当获取一个 HTTP 对象时进行有条件GET。在进行以下实验步骤前,确保你的浏览器缓存是空的。(为了实现这一点,对于 Netscape7.0,选Edit-Preferences-Advanced-Cache,然后清空内存和硬盘

15、上的 cache 。对于 Internet Explorer , 选择 Tools-Internet Options-DeleteFile;这样将从你的浏览器缓存中删除被存储的文件)。现在执行下列操作:(1) 启动浏览器,确保浏览器缓存被清空(如上讨论)(2) 启动 Ethereal 分组嗅探器(3) 在浏览器中输入一下 URL:/ethereal-labs/HTTP-ethereal-file2.html浏览器应显示一个非常简单的五行HTML文件(4) 在浏览器中再次快速输入同一 URL (或者只是简单的选择“刷新”按扭。)(5) 停止Ether

16、eal 分组捕获,然后在 display-filter-specification 窗口输入“http ”,以使只有被捕获的HTTP数据在packet-listing 窗口中显示。(注意:如果你无法建立一个网络连接, 你可以使用http-ethereal-trace-2分组trace文件来回答下列问题,参见标注1.这个文件是在作者本机上执行以 上实验步骤获得的)回答下列问题:8 查看从你浏览器向服务器发出的第一个 HTTP GET请求的内容,你是否看见在HTTP GET中有一个“ IF-MODIFIED-SINCE ”行?答:没有9 查看服务器响应的内容。服务器直接返回文件内容吗?你如何确定?

17、答:在 Line-based text data : text/html 可以看到内容10 现在查看从浏览器向服务器发出的第二个HTTP GET请求的内容,你是否看到在HTTP GET请求中有一个“ IF-MODIFIED-SINCE ”行?如果有,那么 在该头部之后是什么信息?答:有IF-Modified-sinee : Tue, 23 sep 2003 05:35:00 GMT11 对于第二个HTTP GET请求,服务器响应的HTTP状态码和短语是什么? 服务器直接返回了文件的内容吗?解释一下原因。答:304 Not Modified没有,因为该对象没有被修改,缓存了其可用对象,并向浏览器

18、发送了该对精品象的拷贝。3.利用HTTP获取获取长文档到现在为止我们在实验中使用的文档都是简单短小的HTML文件,下面我们下载一个长的HTML文件,看看会发生什么。执行下列操作:(1)启动浏览器,确保它的cache被清空,如上讨论启动Ethereal分组嗅探器(3)在浏览器中输入以下URL/ethereal-labs/HTTP-ethereal-file3.html你的浏览器应该显示相当长的US Bill of Rights停止Ethereal 数据捕获,在 display-filter-specification窗口中输入“ http ”,以使只

19、有被捕获的HTTP数据被显示(5)(注意:如果你无法建立一个网络连接来运行 Ethereal,你可以使用http- ethereal-trace-3 文件来回答以下问题,参见脚注1.这一trace文件是在作者本机 上执行上述实验步骤而捕获的)在packet-listing窗口,你应该看到你的HTTP GET信息,然后紧跟着是对HTTP GET请求的多个分组响应。这个由多个分组构成的响应需要进行一下解 释:一个HTTP响应报文由一个状态行紧跟首部行,然后一个空行,最后为实体 主体构成。就我们发出的HTTP GET请求来说,在响应中实体主体是整个被请求 的HTML文件,而且在这个例子中,HTML文

20、件是相当长的,大约4500字节太大 了无法装在一个TCP分组中进行传输,因此这样一个HTTP响应报文被TCP分拆 成几片,每一片被封装在一个独立的TCP报文段中。每个TCP报文段被Ethereal 记录为一个独立的分组。而一个HTTP响应被分片成多个TCP分组的事实往往在Ethereal 中被用短语“ TCP segment of a reassembled PDU ”标记出来。我们 在这强调:在 HTTP 中没有“ TCP segment of a reassembled PDU”这样一个报文。回答下列问题12 从你的浏览器发送了多少HTTP GET请求?答:发送了三个13 为了携带一个HT

21、TP响应,需要多少个带数据的TCP报文段?答:1个TCP就行14 对HTTP GET的请求进行响应时采用的状态码和短语是什么?答: 200 OK15 由于TCP引起的被标记了“ TCP segment of a reassembled PDU ”的 被传输数据中有HTTP状态行吗?答:有4.利用 HTTP 获取带有嵌入式对象的 HTML 文件既然我们已经看到了 Ethereal 是如何显示大的 HTML 文件传输时所捕获的分 组流量,那么我们也能看清当浏览器下载一个带有嵌入式对象的文件 (例如一个 包含在其他服务器上存储的对象的文件(下文中提到的图片文件) )时所发生的 事情。按如下步骤操作:

22、(1) 启动浏览器,确保浏览器的缓存被清空,如上讨论。(2) 启动 Ethereal 分组嗅探器(3)在浏览器中输入 URL/ethereal-labs/HTTP-ethereal-file4.html你的浏览器应该显示一个带两张图片的短 HTML文件。在基础的HTML文件 中引用了这两图片。也就是说,图片本身并未包含在HTML中,而是将图片的URL 包含在被下载的HTML文件中。浏览器将必须从指定网址获取这商标图片我们的 出版商的商标从网址获取,而书的圭寸面图案被存在mani 服务器。停止 Ethereal 分组捕获

23、,在 display-filter-specification窗口里输入“ http ”,以使只有被捕获的HTTP数据被显示(5)(注意:如果你无法为Ethereal建立一个网上连接,你可以使用http-ethereal-trace-4 这个trace文件来回答下面的问题,参见注脚1,这个trace文件是在作者计算机上执行上述步骤获得的)1 i- 1 -一 -*- - I" - - - * - - - - - - -回答下列问题:16你的浏览器发送了多少HTTP GET请求报文?这些GET请求被发往哪些In ternet 地址?答:发送了 3个HTTP GET请求报文128.119.

24、245.12; 18; 134.24168217你能否判断出你的浏览器是逐个的下载两幅图片还是并行下载的两幅图片?请解释。答:并行。因为它不是顺序的,即发送完一个图片请求并接受完,再去发送 另一个请求,而是交错进行的。5.HTTP认证与安全最后让我们尝试访问一个被密码保护的网络站点,查看与这个站点交换的HTTP报文序列。URL: /ethereal-labs/protected_pages/HTTP-ethereal- file5.html被密码保护,用户名:eth-students,密码为:network。让我们访问 一下这个被密码保护的安全站点。执行下列步骤:(1)确保浏览器被清空,然后关闭浏览器,再打开它。启动Ethereal进行分组捕获。(3) 在浏览器中输入URL: /ethereal-labs/protected_pages/HTTP-ethereal- file5.html,在弹出的对话框中输入用户名、密码。停止Ethereal的数据捕获,在display-filter-specification窗口中输入"http"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论