资源描述
贵州大学实验报告
学院: 专业: 班级:
姓名
学号
实验组
实验时间
2011-11-28
指导教师
成绩
实验项目名称
应用层协议分析
实验目的
1.掌握应用层协议HTTP数据包的组成;
2.掌握HTTP数据包头各字段的含义。
实验要求
1.要求掌握应用层协议HTTP数据包的组成部分;
2.要求掌握HTTP数据包头各字段的含义。
实验原理
HTTP报文由三个部分组成,即开始行、首部行和实体主体。
HTTP请求报文格式如图5.1所示。
图5.1 HTTP请求报文格式
在请求报文中,开始行就是请求行。
“方法”是面向对象技术中使用的专门名词。所谓“方法”就是对所请求的对象进行的操作,因此这些方法实际上也就是一些命令。因此,请求报文的类型是由它所采用的方法决定的。
请求方法(所有方法全为大写)有多种,各个方法的解释如下:
GET 请求获取Request-URI 所标识的资源
POST 在Request-URI 所标识的资源后附加新的数据
HEAD 请求获取由Request-URI 所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用Request-URI 作为其标识
DELETE 请求服务器删除Request-URI 所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
“URL”是所请求的资源的 URL。
“版本”是 HTTP 的版本。
HTTP响应报文格式如图5.2所示。
图5.2 HTTP响应报文格式
响应报文的开始行是状态行。
状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。
状态码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
常见状态码、状态描述、说明:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized // 请求未经授权, 这个状态代码必须和WWW-Authenticate 报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable // 服务器当前不能处理客户端的请求, 一段时间后,可能恢复正常
实验环境
Windows xp运行环境
实验步骤
以Ethereal为例。
1.运行Ethereal,界面如下图:
2.选择网卡:
点击“Capture->Interface”,出现如下对话框:
3.开始数据捕获:
选择Broadcom NetXtreme Gigabit Ethernet Driver(Microsoft’s Packet Scheduler)对应的Capture按钮,就开始捕获数据包,出现如下对话框。
4.停止数据捕获。
点击Stop按钮,出现如下界面:
5.分析HTTP数据包
1)选择一个HTTP请求数据包,写出HTTP报头每个字段对应的值和含义。
2)找出对应的HTTP响应数据包,写出HTTP报头每个字段对应的值和含义。
实验内容
下载网络数据包捕获工具(如Ethereal,Sniffer,Iris等),安装,运行,进行数据捕获。
找出HTTP请求数据包和响应数据包,然后分析HTTP数据包各字段的值并解释。
实验数据
图1
对以上数据分析如下:
这是一个请求报文头各字段分析如下:
Accept
Accept 请求报头域用于指定客户端接受哪些类型的信息(*/*)。如:Accept:image/gif,表明客户端
希望接受GIF 图象格式的资源;Accept:text/html,表明客户端希望接受html 文本。
Accept-Encoding
Accept-Encoding 请求报头域类似于Accept,但是它是用于指定可接受的内容编码(gzip,deflate)。
Accept-Language
Accept-Language:请求报头域类似于Accept,但是它是用于指定一种自然语言(zh-cn)。
Host(发送请求时,该报头域是必需的)
Host 请求报头域主要用于指定被请求资源的Internet 主机和端口号,它通常从HTTP URL 中提取
出来的()。
实验总结
通过本次实验,我们掌握到了应用层协议HTTP数据包的各个组成部分,并且也掌握HTTP数据包头各字段的含义。达到了实验目的,在实验过程中遇到过一定苦难,但都逐一解决了,总体来说还算成功,在以后的学习中,一定会更加努力。
指导教师意见
签名: 年 月 日
展开阅读全文