实验五 应用层协议分析1
实验目的:
掌握http协议过程;了解FTP协议过程;了解SMTP协议过程;了解POP3协议过程;
。
实验类型:验证 实验学时:3学时 实验内容及方法:
观察http协议过程;观察一个FTP协议过程;观察SMTP协议过程;观察POP3协议过程
实验仪器设备:计算机、Ethereal软件。 实验步骤:
1. 观察http协议过程。
(1)在计算机上打开Ethereal软件,进行报文截获。
(2)从浏览器上访问www.gxnu.edu.cn页面,具体操作为打开网页,浏览网页,关掉网页。
(3) 停止Ethereal的报文截获。 捕获的数据包如下
(4) 通过在上网过程中截获报文,分析HTTP协议的报文格式和工作过程。 1、分析HTTP协议报文:从众多HTTP报文中选择两条报文,一条是HTTP 请求报文(即get 报文) ,另一条是HTTP应答报文,将报文信息填入表5-1.
表 5-1HTTP报文
No. 457 479
2、分析HTTP协议请求报文格式:分析1、中选择的HTTP请求报文(即 get 报文)中各字段的实际值并填写表5-2。
表 5-2 HTTP 请求报文格式
字段名 方法字段 字段取值 GET 字段表达信息 获取包含在请求中的URI所标识的信息 URI 版本字段 首部字段 / HTTP/1.1 Accept:*/*\\r\\n 支持的http版本 客户端可识别的内容 Source 192.168.231.55 202.193.160.38 Destination 202.193.160.38 192.168.231.55 Info. GET /HTTP/1.1 HTTP/1.1 200 OK(text/html) 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:www.gxnu.edu.cn\\r\\n Connection:keep-alive\\r\\n 提交请求页面 表明连接状态为保持开放
3、分析HTTP协议应答报文格式:分析1中选择的HTTP 应答报文中各字段的实际值并填写表5-3。
表 5-3 HTTP 应答报文格式
字段名 字段取值 字段表达信息 版本字段 HTTP/1.1 支持的http版本 状态码 首部字段 200 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 OK 服务器属性 回应的日期 内容类型 连接状态 缓存控制间 有效期 解码gzip压缩部分数据 Content-Encoding,User-Agent\\r\\n Content-Length:8124\\r\\n 内容解码 内容长度 Content-encoded entity body(gzip):8124 bytes->35097bytes 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的语法对其进行格式化,并在浏览器窗口中显示。
Line-based text 2. 观察一个FTP协议过程
(1)在计算机上打开Ethereal软件,进行报文截获。
(2)单击“开始/运行”,在运行框中输入命令,打开命令行窗口。 (3)在命令行窗口中,登陆FTP服务器,并下载文件。
(4)停止Ethereal的报文截获。
(5)通过在上网过程中截获报文,分析FTP报文格式和FTP协议的工作过程。
FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。??? FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。?? 主进程的工作步骤:
(1)打开熟知端口(端口号为21),使客户进程能够连接上。 (2)等待客户进程发出连接请求。
(3)启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处