ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:107.51KB ,
资源ID:1187344      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1187344.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二EtherealLabHTTP协议.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验二EtherealLabHTTP协议.docx

1、实验二EtherealLabHTTP协议实验二: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认证与安全。二、实验原理万维网(World Wide Web,WWW)是一种基于因特网的分布式信息查询系统。WWW的工作基于客户机/服务器模型,由Web浏览器(客户机)向Web服务器(服

2、务器)请求由超文本标记语言(HTML)编辑的网页,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)打开网页浏览器(2)启动Et

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

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

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

7、onse忽略不计。如果你看到对这个文件的一个引用(reference),它是你的浏览器在自动的向服务器询问是否服务器有一个小的图标文件,该文件应紧随被显示的URL在浏览器中显示。我们将忽略实验中对该麻烦文件的所有引用。) 图1:在http:/gaia.cs.umass.edu/ethereal-labs/ HTTP-etherealfile1.html已被你浏览器获取后Ethereal显示界面查阅HTTP GET和response报文的相关信息,回答下列问题:1你的浏览器正运行的HTTP版本号是1.0还是1.1?服务器运行的HTTP版本号是多少?答:你的浏览器是1.1版本服务器运行的HTTP1

8、.1版本2你的浏览器向服务器表示它可以接受哪些语言?答:en-us,en;3你的主机IP地址是多少?gaia.cs.umass.edu服务器的IP是多少?答:主机:192.168.1.102服务器:128.119.245.124从服务器向你的浏览器返回的状态代码是什么?答:200 OK5你正获取的HTML文件在服务器上最后一次被修改是什么时间?答:LastModified:Tue,23 sep 2003 05:29:50 GMT6有多少字节的内容被返回到你的浏览器?答:Content-length:73字节7观察packet content window的原始数据,你可以看到一些未被显示在pa

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

10、it-Preferences-Advanced-Cache,然后清空内存和硬盘上的cache。对于Internet Explorer ,选择Tools-Internet Options-Delete File;这样将从你的浏览器缓存中删除被存储的文件)。现在执行下列操作:(1)启动浏览器,确保浏览器缓存被清空(如上讨论)(2)启动Ethereal分组嗅探器(3)在浏览器中输入一下URL: http:/gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file2.html浏览器应显示一个非常简单的五行HTML文件(4)在浏览器中再次快速输入同一URL(或

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

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

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

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1