实验五应用层协议分析1
实验目的:
掌握http协议过程;了解FTP协议过程;了解SMTP协议过程;了解POP3协议过程;
。
实验类型:验证
实验学时:3学时
实验内容及方法:
观察http协议过程;观察一个FTP协议过程;观察SMTP协议过程;观察POP3协议过程
实验仪器设备:计算机、Ethereal软件。
实验步骤:
1.观察http协议过程。
(1)在计算机上打开Ethereal软件,进行报文截获。
(2)从浏览器上访问页面,具体操作为打开网页,浏览网页,关掉网页。
(3)停止Ethereal的报文截获。
捕获的数据包如下
(4)通过在上网过程中截获报文,分析HTTP协议的报文格式和工作过程。
1、分析HTTP协议报文:从众多HTTP报文中选择两条报文,一条是HTTP 请求报文(即get 报文),另一条是HTTP应答报文,将报文信息填入
表5-1.
表5-1HTTP报文
No. Source Destination Info.
457 192.168.231.55 202.193.160.38 GET /HTTP/1.1
479 202.193.160.38 192.168.231.55 HTTP/1.1 200 OK(text/html)
2、分析HTTP协议请求报文格式:分析1、中选择的HTTP请求报文(即 get 报文)中各字段的实际值并填写表52。
表5-2 HTTP 请求报文格式
字段名字段取值字段表达信息
方法字段GET 获取包含在请求中的
URI所标识的信息
URI /
版本字段HTTP/1.1 支持的http版本
首部字段Accept:*/*\r\n 客户端可识别的内容
Accept-Language:zh-cn\r\n 客户端能解释的语言—
简体中文
Accept-Encoding:gzip,deflate\r\n 解码gzip压缩部分数据
User-Agent:Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1;.net CLR 2.0.50727...........)\r\n 定义用于产生请求的软件类型
Host:\r\n 提交请求页面
Connection:keep-alive\r\n 表明连接状态为保持开
放
3、分析HTTP协议应答报文格式:分析1中选择的HTTP 应答报文中各字段的实际值并填写表5-3。
表5-3 HTTP 应答报文格式
字段名字段取值字段表达信
息
版本字段HTTP/1.1 支持的http
版本
状态码200 OK
首部字段Server:nginx/1.0.8\r\n 服务器属性Date:SAT,28 apr 2012 10:19:42 GMT\r\n 回应的日期
Content-Type:text\html\r\n 内容类型
Connection:keep-alive\r\n 连接状态
X-powered-By:PHP/5.3.9\r\n
Cache-control:max-age=0\r\n 缓存控制间
Expires:Sat,28 Apr 2012 10:19:42 有效期
Vary:accept-Encoding:gzip\r\n 解码gzip压
缩部分数据Content-Encoding,User-Agent\r\n 内容解码
Content-Length:8124\r\n 内容长度
Content-encoded entity body(gzip):8124
bytes->35097bytes Line-based text
data:text/html
4、 HTTP 协议的工作过程
(1)客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。
(2)发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
(3)服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。(4)释放连接TCP连接
Web服务器主动关闭TCP套接字,释放TCP连接;客户端被动关闭TCP套接字,释放TCP连接。
(5)客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。
2.观察一个FTP协议过程
(1)在计算机上打开Ethereal软件,进行报文截获。
(2)单击“开始/运行”,在运行框中输入命令,打开命令行窗口。
(3)在命令行窗口中,登陆FTP服务器,并下载文件。
(4)停止Ethereal的报文截获。
(5)通过在上网过程中截获报文,分析FTP报文格式和FTP协议的工作过程。
FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。 • FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
主进程的工作步骤:
(1)打开熟知端口(端口号为21),使客户进程能够连接上。
(2)等待客户进程发出连接请求。
(3)启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处