《实验五--应用层协议分析一(共7页).doc》由会员分享,可在线阅读,更多相关《实验五--应用层协议分析一(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上实验五 应用层协议分析1实验目的:掌握http协议过程;了解FTP协议过程;了解SMTP协议过程;了解POP3协议过程;。 实验类型:验证 实验学时:3学时 实验内容及方法:观察http协议过程;观察一个FTP协议过程;观察SMTP协议过程;观察POP3协议过程实验仪器设备:计算机、Ethereal软件。实验步骤:1. 观察http协议过程。(1)在计算机上打开Ethereal软件,进行报文截获。(2)从浏览器上访问页面,具体操作为打开网页,浏览网页,关掉网页。(3) 停止Ethereal的报文截获。捕获的数据包如下(4) 通过在上网过程中截获报文,分析HTTP协议的
2、报文格式和工作过程。1、分析HTTP协议报文:从众多HTTP报文中选择两条报文,一条是HTTP请求报文(即get报文) ,另一条是HTTP应答报文,将报文信息填入表5-1.表 5-1HTTP报文No.SourceDestinationInfo.457192.168.231.55202.193.160.38GET /HTTP/1.1479202.193.160.38192.168.231.55HTTP/1.1 200 OK(text/html)2、分析HTTP协议请求报文格式:分析1、中选择的HTTP请求报文(即get报文)中各字段的实际值并填写表52。 表 5-2 HTTP 请求报文格式字段名
3、字段取值字段表达信息方法字段GET获取包含在请求中的URI所标识的信息URI / 版本字段HTTP/1.1支持的http版本首部字段Accept:*/*rn客户端可识别的内容Accept-Language:zh-cnrn 客户端能解释的语言简体中文 Accept-Encoding:gzip,deflatern解码gzip压缩部分数据User-Agent:Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1;.net CLR 2.0.50727.)rn定义用于产生请求的软件类型Host:rn提交请求页面Connection:keep-alivern
4、表明连接状态为保持开放 3、 分析HTTP协议应答报文格式:分析1中选择的HTTP应答报文中各字段的实际值并填写表5-3。 表 5-3 HTTP 应答报文格式字段名字段取值字段表达信息版本字段HTTP/1.1支持的http版本状态码200OK首部字段Server:nginx/1.0.8rn服务器属性Date:SAT,28 apr 2012 10:19:42 GMTrn回应的日期Content-Type:texthtmlrn内容类型Connection:keep-alivern连接状态X-powered-By:PHP/5.3.9rnCache-control:max-age=0rn缓存控制间Ex
5、pires:Sat,28 Apr 2012 10:19:42有效期Vary:accept-Encoding:gziprn解码gzip压缩部分数据Content-Encoding,User-Agentrn内容解码Content-Length:8124rn内容长度Content-encoded entity body(gzip):8124 bytes-35097bytes Line-based text data:text/html4、 HTTP协议的工作过程(1)客户端连接到Web服务器一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。(2)发
6、送HTTP请求通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。(3)服务器接受请求并返回HTTP响应Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。(4)释放连接TCP连接Web服务器主动关闭TCP套接字,释放TCP连接;客户端被动关闭TCP套接字,释放TCP连接。(5)客户端浏览器解析HTML内容客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客
7、户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。2. 观察一个FTP协议过程(1)在计算机上打开Ethereal软件,进行报文截获。(2)单击“开始/运行”,在运行框中输入命令,打开命令行窗口。(3)在命令行窗口中,登陆FTP服务器,并下载文件。(4)停止Ethereal的报文截获。(5) 通过在上网过程中截获报文,分析FTP报文格式和FTP协议的工作过程。 FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。 FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。主进程的工作步骤
8、:(1) 打开熟知端口(端口号为21),使客户进程能够连接上。(2) 等待客户进程发出连接请求。(3) 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程(4) 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发的进行的。FTP使用两个TCP连接。 控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。 实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传输进程”和“
9、数据连接”,用来连接客户端和服务器端的数据传送进程。 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传输连接”并结束运行。 3. 观察SMTP协议过程 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)使用用户代理发送邮件。 (3)停止Ethereal的报文截获。 (4)通过截获报文,分析SMTP的工作过程说明:smtp是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器 1.smtp是个请求/响应协议,命令和响应都是基于ascii文本,并以cr和lf符结束。响应包括一个表示返回状态的三位数字代码 2.smtp在tcp协议25号端口监
10、听连接请求 3.连接和发送过程: a.建立tcp连接(三次握手)b.客户端发送helo命令以标识发件人自己的身份,然后客户端发送mail命令 服务器端正希望以ok作为响应,表明准备接收 c.客户端发送rcpt命令,以标识该电子邮件的计划接收人,可以有多个rcpt行 服务器端则表示是否愿意为收件人接受邮件 d.协商结束,发送邮件,用命令data发送 e.以.表示结束输入内容一起发送出去 f.结束此次发送,用quit命令退出。 4. 观察POP3协议过程 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)使用用户代理收取邮件。 (3)停止Ethereal的报文截获。 (4) 通过截获报文,分析POP协议的工作过程Pop3客户端接收信件的的工作过程1、连接到pop3服务器(默认端口110)2、发送用户名(user)3、发送密码(pass)4、查询当前邮箱状态(stat)5、查询服务器上所有邮件UID列表(UIDL)6、查询本地所有邮件的UID列表,从而罗列出新邮件列表(本地UID列表是POP3客户端记录在日志文件中的)7、对所有新邮件查询其大小(LIST)8、下载所有新邮件(RETR)利用List提供的邮件大小信息9、如果有必要,对所有新邮件标志为删除(DELE)10、结束对话(QUIT)11、解析本地下载邮件。专心-专注-专业