实验六HTTP 协议分析实验
一、实验目的
在PC 机上访问RCMS 的Web 页面,截获报文,分析HTTP 协议的报文格式和HTTP 协议的工作过程。
二、实验设备和连接
本地实验室环境,无须设备连接;
注意:请通过访问可以连接的WWW 站点或使用IIS 建立本地WWW 服务器来进行实验。
三、实验步骤
步骤1:在PC 机上运行Ethereal,开始截获报文,为了只截获和我们要访问的网站相关的数据报,将截获条件设置为“not broadcast and not multicast”;
步骤2:从浏览器上访问Web 界面,如http://202.202.43.125。打开网页,待浏览器的状态栏出现“完毕”信息后关闭网页。
步骤3:停止截获报文,将截获的报文命名为http-学号保存。
分析截获的报文,回答以下几个问题:
1)综合分析截获的报文,查看有几种HTTP 报文?
有两种报文
一种是从客户到服务器的请求报文
另一种是从服务器到客户的响应报文
2)在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的 HTTP 应答报文,仔细分析它们的格式,填写表20 和表 5.21。
表20 HTTP 请求报文格式
方法GET 版本Http/1.1
URL http://172.20.1.20/sysindex/default.aspx 首部字段名字段值字段所表达的信息Accept */*\r\n 表明客户端可识别的内容
Accept-Language zh-cn\r\n 客户端能解释的语言-简体中文
User-Agent Mozilla/4.0(compa
tible;MSIE
6.0;Windows NT
5.1;SV1;.NET CLR
3.0.04506.648;.NE
T CLR
3.5.21022;.NET
4.0
C;.NET4.0E)
定义用于产生请求的软件类型
Host 172.20.1.20\r\n 指定被请求资源的Internet主机和端口号Connection Keep-Alive\r\n 用于表明是否保存socket连接为开放的通用头标
表21 HTTP 应答报文格式
版本Http/1.1 状态码500 短语Not Modified
首部字段名字段值字段所表达的信息
Date Sat,04 Dec 2010
08:55:55 GMT
消息发送的时间
Server Microsoft-IIS/6.0 用于确定实际被发送的资源是否为同一资源
Etage "825c674e82f0c91:2
b062"
用于确定实际被发送的资源是否为同一资源
Accept-Ranges bytes 可以请求实体的一个或多个子范围
Last-Modified Fri,19 jun 2009
02:04:40 GMT
指定服务器上保存内容的最后修订时间
3)分析在截获的报文中,客户机与服务器建立了几个连接?服务器和客户机分别使用了哪几个端口号?
___________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
4 )综合分析截获的报文,理解HTTP 协议的工作过程,将结果填入表22 中。
表22 HTTP 协议工作过程
HTTP 客户机端口号HTTP 服务器端口号所包括的报文号步骤说明
四、实验小结
本次实验的主要目的是在PC 机上访问RCMS 的Web 页面,截获报文,分析HTTP 协议的报文格式和HTTP 协议的工作过程。 HTTP 是一个面向事务的客户服务器协议。尽管HTTP 使用TCP 作为底层传输协议,但每个事务都是独立地进行处理。当一个事务开始时,就在万维网客户和服务器之间建立一个TCP 连接,而当事务结束时就释放这个连接。