实验二:EtherealLab——HTTP协议_第1页
实验二:EtherealLab——HTTP协议_第2页
实验二:EtherealLab——HTTP协议_第3页
实验二:EtherealLab——HTTP协议_第4页
实验二:EtherealLab——HTTP协议_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

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

5、立二.个网络连接并运彳亍加里£必可以ie载二个分 组皿理文性它是按照上3骤在某主机上执行后一由里ji坐泌捕的数掳aia. cs. umass. eereaethereal-traces.zi压缩文佻撚垃二£辿些曲1 二尔就可以ffljiilsle拉粟里虫图1中显示在packet-listing窗中有两个http数据包被捕获:get数据包(从你的浏览器到gaia. cs. umass. edu网络服务器);响应数据包(从服务器 到你的浏览器)o packet-contents窗显示了被选择数据包的细节。(图中选择 显示的是http get数据包)。既然http数据包是被封装在

6、tcp报文段中传送的,而tcp报文段是被封装在ip数据包中传递,ip数据包又是在以太网帧中传递的,所 以ethereal还显示了帧.以太网.ip. tcp的分组信息。这里将显示的非http数 据最小化(这里我们只对http感兴趣,将在后续实验中研究其它协议),因此要 确保帧、以太网、ip、tcp信息的最左端呈现指向右的箭头或加号(这表示有隐 藏的信息),而http行有一个指向下的箭头或减号(表明关于http数据的所有信 息都显示了)(注意:你应该对favicon, ico产生的http get/response忽略不计。 如果你看到对这个文件的一个引用(reference),它是你的浏览器在自

7、动的向服 务器询问是否服务器有一个小的图标文件,该文件应紧随被显示的url在浏览器 中显示。我们将忽略实验中对该麻烦文件的所有引用。)图 1:在htip://ethereal-labs/ http-etherealfile 1 .hlml c被你浏览器获取 ju ethereal.® 75界面 查阅http get和response报文的相关信息,回答下列冋题:1 你的浏览器正运行的http版本号是1. 0还是1. 1?服务器运行的iittp版本 号是多少?答:你的浏览器是1.1版本服务器运行的http1. 1版本2 你的浏览器向服务器表示它可以接受

8、哪些语言?答:cn-us, on;3 你的主机ip地址是多少? gaia. cs. umass. edu服务器的tp是多少?答:主机:192. 16& 1. 102服务器:128. 119. 245. 124 从服务器向你的浏览器返回的状态代码是什么?答:200 0k5 你正获取的html文件在服务器上最后一次被修改是什么时间?答:last-modified: tue, 23 sop 2003 05:29:50 gmt6 有多少字节的内容被返回到你的浏览器?答:content-length: 73字节7 观察packet content window的原始数据,你可以看到一些未被显示在

9、 packet-listing window的一些头部吗?如果有,列举一个。答:没有在你回答问题时,你会吃惊的发现你刚刚下载的文档在你下载前的一分 钟内被修改的。这是因为gaia. cs. umass. edu服务器针对这一特定文件每隔一分 钟将这一文件的最后修改时间设置为当前时间。因此,如果你在两次读取之间等 待一分钟,文件将显示最近被修改过,因此,你的浏览器将下载该文档的一份新” 拷贝。2. http 有条件 get/response 交互大多数网页浏览器逬行对象缓存,因而当获取一个http对象时进行有条件 geto在进行以下实验步骤前,确保你的浏览器缓存是空的。(为了实现这一点, 对于n

10、etscape7. 0,选edi t-preferences-advanced-cache,然后清空内存和硬盘 上的 cache。对于 in tcrnct explorer,选择 tools - in ter net option s-delctc file;这样将从你的浏览器缓存中删除被存储的文件)。现在执行下列操作:(1) 启动浏览器,确保浏览器缓存被清空(如上讨论)(2) 启动ethereal分组嗅探器(3) 在浏览器中输入一下url:http:/gaia. cs. umass. edu/ethereal_labs/http-ethereal-fi1e2.html浏览器应显示一个非常简单

11、的五行html文件在浏览器中再次快速输入同一url (或者只是简单的选择“刷新”按扭。)(5) 停止ethereal分组捕获,然后在display-filter-specification窗输 入“http”,以使只有被捕获的http数据在packet-listing窗中显示。(6) (注意:如果你无法建立一个网络连接j尔可以使用http-ethereal-trace 二2分组住££文性来回答丕列回题参见标注l这个文性是在隹者丕机上执彳亍以 上寰验步骤获得的l回答下列冋题:8 查看从你浏览器向服务器发出的第一个http get请求的内容,你是否看 见在http get中有一

12、个 “if-modified-since” 行?答:没有9 杳看服务器响应的内容。服务器直接返回文件内容吗?你如何确定?答:在line-based text data: text/html可以看到内容10 现在查看从浏览器向服务器发出的第二个http get请求的内容,你是否 看到在http get请求中有一个“if-modified-stnce”行?如果有,那么在该头 部之后是什么信息?答:有if-modified-since: tue, 23 sep 2003 05:35:00 gmt11 对于第二个http get请求,服务器响应的http状态码和短语是什么?服 务器直接返回了文件的内容

13、吗?解释一下原因。答:304 not modified没有,因为该对象没有被修改,缓存了其可用对象,并向浏览器发送了该对 象的拷贝。3.利用http获取获取长文档到现在为止我们在实验中使用的文档都是简单短小的html文件,下面我们下 载一个长的html文件,看看合发生什么。执行下列操作:(1) 启动浏览器,确保它的cache被清空,如上讨论(2) 启动ethereal分组嗅探器(3) 在浏览器中输入以下urlhttp:/gaia. cs. umass. edu/ethereal-labs/http-ethereal-file3.html你的浏览器应该显示相当长的us bill of right

14、s(4) 停止ethereal数据捕获,在display-filter-specification窗中输入 “http”,以使只有被捕获的http数据被显示ethereal-trace-3文件来回答以下冋题丄参见脚注l这一trace文件是在作者本 机上执彳亍上述去验步骤而捕获的jl在packet-listing窗,你应该看到你的http get信息,然后紧跟着是对 http get请求的多个分组响应。这个由多个分组构成的响应需要进行一下解释: 个http响应报文由一个状态行紧跟首部行,然后一个空行,最后为实体主体构 成。就我们发出的http get请求来说,在响应中实体主体是整个被请求的htm

15、l 文件,而且在这个例子中,html文件是相当长的,大约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请

16、求?答:发送了三个13 为了携带一个http响应,需要多少个带数据的tcp报文段?答:1个tcp就行14 对http get的请求进行响应时采用的状态码和短语是什么?答:200 0k15 由于tcp引起的被标记了 “tcp segment of a reassembled pdu” 的被 传输数据中有http状态行吗?答:有4. 利用http获取带有诙入式对象的html文件既然我们已经看到了 ethereal是如何显示大的html文件传输时所捕获的分 组流量,那么我们也能看清当浏览器下载一个带有嵌入式对象的文件(例如一个 包含在其他服务器上存储的对象的文件(下文中提到的图片文件)时所发生的 事

17、情。按如下步骤操作:(1) 启动浏览器,确保浏览器的缓存被清空,如上讨论。(2) 启动ethereal分组嗅探器(3) 在浏览器中输入urlhttp:/gaia. cs. umass. edu/ethereal-labs/http-ethereal-f订e4. html 你的浏览器应该显示一个带两张图片的短html文件。在基础的iitml文件中引用了这两图片。也就是说,图片本身并未包含在html中,而是将图片的url包含 在被下载的html文件中。浏览器将必须从指定网址获取这商标图片我们的出版商 的商标从网址www. awl. coin获取,而书的封面图案被存在manic, cs. umass

18、. edu服 务器。(4) 停止 ethereal 分组捕获,在 di splay-filter - specification 窗里输入 “http”,以使只有被捕获的http数据被显示ethereal-trace-4这个trace文件来回答下面的冋题,参见注脚1丄这个trace文回答下列问题:16 你的浏览器发送了多少http get请求报文?这些get请求被发往哪些 internet 地址?答:发送了 3个http get请求报文128. 119. 245. 12 ; 165. 193. 123.218 ; 134. 241.6. 8217 你能否判断出你的浏览器是逐个的下载两幅图片还是

19、并行下载的两幅 图片?请解释。答:并行。因为它不是顺序的,即发送完一个图片请求并接受完,再去发送 另一个请求,而是交错进行的。5. http认证与安全最后让我们尝试访问一个被密码保护的网络站点,查看与这个站点交换的 http报文序列。url:http:/gaia. cs. umass. edu/ethereal-labs/protected_pages/http-ethereal- file5. html被密码保护,用户名:eth-students,密码为:networko让我们访问 下这个被密码保护的安全站点。执行下列步骤:(1) 确保浏览器被清空,然后关闭浏览器,再打开它。(2) 启动et

20、hereal进行分组捕获。(3) 在浏览器中输入url:http:/gaia cs. umass edu/ethereal-labs/protected_pages/http-ethereal- filc5. html,在弹出的对话框中输入用户名、密码。(4) 停止ethereal的数据捕获,在display-fi 1 ter-specification窗中输 入http使得在packet-listing窗中只显示被捕获的http数据。蝕険毀丄二埋架或文性来回答丕列回题一参见脚注这±1匸驱文性晟在佢者主 机上执彳亍上述步骤而.获得j现在我们看一下ethereal的输出,如果你想先了解一下http认证方面的内 容。可以先访问http: /frontier, userla

温馨提示

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

评论

0/150

提交评论