首页 网络应用层协议分析

网络应用层协议分析

举报
开通vip

网络应用层协议分析网络应用层协议分析网络体系结构中的最高层是应用层,它包括了所有的高层协议,并且随着网络应用的日益推广,不断有新的协议加入。TCP/IP体系的应用层协议主要有:*域名服务DNS(DomainNameSystem),用于实现互联网中主机域名到IP地址的映射功能;*文件传输协议FTP(FileTransferProtocol),用于实现互联网中交互式文件传输;*超文本传输协议HTTP(HyperTextTransferProtocol),用于WWW服务。*电子邮件协议SMTP(SimpleMailTransferProt...

网络应用层协议分析
网络应用层 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 分析网络体系结构中的最高层是应用层,它包括了所有的高层协议,并且随着网络应用的日益推广,不断有新的协议加入。TCP/IP体系的应用层协议主要有:*域名服务DNS(DomainNameSystem),用于实现互联网中主机域名到IP地址的映射功能;*文件传输协议FTP(FileTransferProtocol),用于实现互联网中交互式文件传输;*超文本传输协议HTTP(HyperTextTransferProtocol),用于WWW服务。*电子邮件协议SMTP(SimpleMailTransferProtocol)和POP3(PostOfficeProtocol),用于实现电子邮件的传送和读取功能;*远程终端协议TELNET,用于实现互联网中远程登录功能;计算机通信的对象是应用层中的应用进程,在TCP/IP体系中,两个应用进程采用客户服务器方式进行通信。客户服务器方式描述进程之间服务和被服务关系。当A进程需要B进程的服务时,A是客户,B是服务器。也许在下次通信时,B需要A的服务,此时,B是客户而A是服务器。客户与服务器的通信关系一旦建立,通信就可以是双向的,客户和服务器都可以发送和接收信息。6.1DNS协议分析实验1.DNS协议简介DNS是域名系统(DomainNameSystem)的缩写,是一种分层次的、基于域的命名 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,主要用来将主机名和电子邮件目标地址映射成IP地址。当用户在应用程序中输入DNS名称时,DNS通过一个分布式数据库系统将用户的名称解析为与此名称相对应的IP地址。(1)域名服务器和域名解析在互联网中,DNS的实现是通过域名服务器实现的。域名服务器构成对应的层次结构,每个域名服务器保存着它所管辖区域内的主机的名字和IP地址的对照表。这组域名服务器是域名解析的核心。域名解析有两种:递归解析和反复解析。(2)域名解析递归解析就是本地域名服务器系统一次性地完成域名到IP地址的转换,即使它没有所要查询的域名信息,它也会查询别的域名服务器。反复解析则是当本地域名服务器中没有被查询的主机域名的信息时,它就会将一个可能有该域名信息的DNS服务器的地址返回给请求域名解析的DNS客户,DNS客户再向指定的DNS服务器查询。在实际应用中通常是将两种解析方式结合起来进行域名解析。当本地域名服务器没有所要查询的域名信息时,就请求根域名服务器,根域名服务器将有可能查到该域名信息的域名服务器地址返回给要求域名解析的本地域名服务器,本地域名服务器再到指定的域名服务器上查询,如指定域名服务器上还没有该域名信息,它再将它的子域名服务器的IP地址返回给要求域名解析的本地域名服务器,这样直到查询到待解析的域名的IP地址为止(没有注册的主机域名除外),本地域名服务器再将查询结果返回给DNS客户,完成域名解析。(3)DNS高速缓存每个域名服务器都维护着一个高速缓存,存放最近用到过的域名信息和此 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的来源。当客户请求域名解析时,域名服务器首先检查它是否被授权管理该域名,若未被授权,则查看自己的高速缓存,检查该域名是否最近被转换过。如果有这个域名信息,域名服务器就会将有关域名和IP地址的绑定信息报告给客户,并标志为非授权绑定,同时给出获得此绑定的域名服务器的域名,本地域名服务器也会将该绑定 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 客户。但该绑定信息可能是过时的。根据是强调高效还是准确性,客户可以选择接受该绑定信息还是直接与该绑定信息的授权服务器联系。2.实验工具软件简介(1)SimpleDNSPlus软件SimpleDNSPlus软件安装完成后,其内部已经存储了一些根域名服务器的IP地址,当收到DNS请求时,如果在本地缓存中找不到相应的记录,DNS服务器则向这些根域名服务器发出域名解析请求,并逐步完成解析过程。同时也可以由自己添加相应的记录。将计算机配置为DNS服务器需要进行以下配置:*将本地连接的TCP/IP属性中首选的DNS服务器的IP地址设置为本机的IP地址。(Windows2000不允许设置为127.0.0.1)*运行SimpleDNSPlus软件,选择DNS服务器的Tools-Option命令,弹出图36所示对话框:选择General选项卡,选中RunaswindowsService复选框;图36SimpleDNSPlus系统设置*在上图DNSRequests选项卡中,将本地计算机的IP地址选上,使本机成为DNS服务器;*使用浏览器访问Internet,如果DNS工作正常则配置完成。(2)NSLOOKUP命令工具Nslookup是Windows系统自带的命令工具,可以显示域名解析,除得到域名主机IP外,还可以得到DNS解析服务器的主机名称和对应的IP地址。由于本次实验只需要获取DNS报文,因此选择它作为客户端工具。3.实验环境与说明(1)实验目的学习SimpleDNSPlus软件在WindowsXP下安装和使用的方法;分析DNS协议报文格式和DNS协议的工作过程;理解DNS缓存的作用。(2)实验设备和连接实验设备和连接图如图37所示,一台锐捷S2126G交换机连接了2台PC机,分别命名为PC1、PC2,交换机命名为Switch。图37DNS协议分析实验连接图(3)实验分组每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。4.实验步骤步骤1:按照图37连接实验设备,配置各计算机的IP地址和默认网关,确保计算机能正常上网。由于实验室计算机的1#网卡已经配置了局域网连接,并通过代理访问互联网,因此只需要查看本地的设置可以访问互联网即可;步骤2:按照本节第2部分实验工具软件简介的方法将PC1配置成DNS服务器。步骤3:配置PC2的DNS服务器为PC1,方法是打开“网络和Internet连接”的“网络连接”窗口,“本地连接”,右键快捷菜单“属性”,在常规选项卡中打开“Internet协议(TCP/IP)属性”对话框。设置首选DNS服务器地址为192.168.10.10(以图例)。步骤4:清空DNS服务器缓存,方法:在SimpleDNSPlus主菜单执行Tools-ClearDNSCache。步骤5:在PC1和PC2上启动Ethereal,设置PC1的截获条件为“notbroadcastandnotmulticast”,PC2的截获条件为“host192.168.10.10”,开始截获报文。步骤6:在PC2上打开命令行窗口。如图38所示,执行Nslookup,查询www.sina.com。图38NSLOOKUP操作示意步骤7:停止截获报文并将截获的结果分别保存为DNS-S和DNS-C。分析DNS的请求和应答报文,完成下面的要求。1)从DNS-C中选择一条计算机发出的DNS请求报文和相应的DNS应答报文(它们的TransactionID字段的值相同),将两条报文的信息填入表5.15。表15DNS请求报文和应答报文信息DNS报文类型报文序号源站点目的站点报文信息DNS请求报文DNS应答报文2)如图39所示,在DNS-S的众多报文中找出图39所示的①~⑧报文,并将这些报文填入表5.16。图39DNS的解析过程表16DNS请求报文格式序号报文序号源站点目的站点报文主要作用所属查询类型123456783)从报文②可以得知,DNS服务器所请求的根域名服务器IP地址为多少?SimpleDNSPlus内部存储了多少个根域名服务器的IP地址?__________________________________________________________________________________________________________________________________________________________4)分析报文③,找出DNS服务器向哪一个.com域名服务器发出请求报文,并写出它的域名和IP地址。_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________步骤8:重复步骤5到步骤7的操作,将截获的结果保存为DNS2-S和DNS2-C。分析这次截获的结果与上次截获的结果有何不同,体会DNS高速缓存的作用。两次监测的数据流量有什么区别?为什么出现了这种差别?________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________6.2FTP协议分析实验1.FTP协议简介协议简介FTP是文件传输协议(FileTransferProtocol)的简称。FTP基于TCP协议,它通过两个TCP连接来传输一个文件,一个是控制连接,另一个是数据连接。相应的,在进行文件传输时,FTP需要两个端口,分别用于控制连接端口(用于给服务器发送指令以及等待服务器响应)和数据传输端口(在客户机和服务器之间发送一个文件或目录列表)。两种连接的建立都要经过一个“三次握手”的过程,同样,连接释放也要采用“四次握手”方法。控制连接在整个回话期间一直保持打开状态。数据连接是临时建立的,在文件传送结束后被关闭。FTP的连接模式有两种,PORT和PASV。PORT模式是一个主动模式,PASV是被动模式,这里都是相对于服务器而言的。当FTP客户以PORT模式连接服务器时,它首先动态地选择一个端口号连接服务器的21端口,注意这个端口号一定是1024以上的,因为1024以前的端口都已经预先被定义好,被一些典型的服务使用或保留给以后会用到这些端口的资源服务。经过TCP的三次握手后,控制连接被建立。这时客户就可以利用这个连接向服务器发送指令和等待服务器响应了。当需要从(或向)服务器传送数据时,客户会发出PORT指令告诉服务器用自己的那个端口来建立一条数据连接(这个命令由控制连接发送给服务器),当服务器接到这一指令时,会使用20端口连接客户指定的端口号,用以数据传送。当FTP客户以PASV模式连接服务器时,控制连接的建立过程与PORT模式相同,不同的是,在数据传送时,客户不向服务器发送PORT指令而是发送PASV指令告诉服务器自己要连接服务器的某一个端口,如果这个服务器上的这个端口是空闲的可用的,那么服务器会返回ACK的确认信息,此后,数据连接被建立并返回客户机所要的信息;如果服务器的这个端口被另一个资源所使用,那么服务器返回UNACK的信息,FTP客户会再次发送PASV命令,这也就是所谓的连接建立的协商过程。需要强调的是微软自带的FTP客户端命令,不支持PASV模式。2.实验工具软件简介(1)Serv-U软件Serv-U是一种被广泛运用的FTP服务器端软件,支持9x/ME/NT/2K等全Windows系列。FTP服务器用户通过它用FTP协议能在internet上共享文件。它设置简单,功能强大,性能稳定。此外,Serv-U并不是简单地提供文件的下载,还为用户的系统安全提供了相当全面的保护。本次实验中,我们使用Serv-UFTPServer6.2.0.1汉化版软件作为FTP服务器。有关Serv-U的系统配置请阅读软件的帮助文档。(2)微软FTP客户端命令实验中,我们使用Windows自带的FTP命令和IE浏览器来作为FTP的客户端。下面简单的介绍一下常用FTP客户端命令。FTP的命令格式:ftp[-v][-d][-i][-n][-g][-w:windowsize][主机名/IP地址]其中:-v不显示远程服务器的所有响应信息;-n限制ftp的自动登录;-i在多个文件传输期间关闭交互提示-d允许调试、显示客户机和服务器之间传递的全部ftp命令;-g不允许使用文件名通配符;-w:windowsize忽略默认的4096传输缓冲区。使用FTP命令登录成功远程FTP服务器后进入FTP子环境,在这个子环境下,用户可以使用FTP的内部命令完成相应的文件传输操作。FTP常用内部命令如下:*openhost[port]:建立指定ftp服务器连接,可指定连接端口。*useruser-name[password][account]:向远程主机表明身份,需要口令时必须输入。*appendlocal-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。*cdremote-dir:进入远程主机目录。*cdup:进入远程主机目录的父目录。*cd[dir]:将本地工作目录切换至dir。*dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件。*getremote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。*ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。*putlocal-file[remote-file]:将本地文件local-file传送至远程主机。*mputlocal-file:将多个文件传输至远程主机。*nlist[remote-dir][local-file]:显示远程主机目录的文件清单,存入本地硬盘local-file。*bye或quit:退出ftp会话过程。3.实验环境与说明(1)实验目的学习Serv-UFTPServer服务软件的基本配置和FTP客户端命令的使用,分析FTP报文格式和FTP协议的工作过程。(2)实验设备和连接实验设备和连接图如图40所示,一台锐捷S2126G交换机连接了2台PC机,分别命名为PC1、PC2,交换机命名为Switch。图40FTP协议分析实验连接图(3)实验分组每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。4.实验步骤步骤1:按照如图40所示连接好设备,配置PC1和PC2的IP地址,验证连通;(编者注:实验室中任何一台PC都可以作为模型中的PC1和PC2。)步骤2:在上安装Serv-UFTPServer,启动后出现图41所示界面。图41Serv-UFTPServer主界面点击左窗格目录树Ser-U服务器-本地服务器-域,右键菜单,选择新建域(或者选择窗口菜单域-新建域),打开添加新建域向导,完成如下操作:添加域IP地址:172.16.10.100;添加域名:test.com;设置域端口号:21(默认);设置域类型:存储于.INI文件(默认)。完成后界面如图5.42所示:图42Serv-UFTPServer域设置界面完成上述操作后,还需要创建用于实验的用户帐号。点击左窗格用户,打开添加新建用户向导:添加用户名:test1;添加密码:123;设置用户主目录(登陆文件夹);设置是否将用户锁定于主目录:是(默认)。完成后界面如图43所示:图43Serv-UFTPServer用户设置界面新建的用户只有文件读取和目录列表权限,为完成实验内容,还需要为新建的用户设置目录访问权限,方法为打开用户设置界面,点击目录访问标签按钮,按照图44所示进行配置:图44用户目录访问设置界面FTP服务器的配置就此完成,对Serv-UFTPServer的其它功能有兴趣的话可以参考相关帮助文档;步骤3:在PC1和PC2上运行Ethereal,开始截获报文。步骤4:在PC2命令行窗口中登录FTP服务器,根据步骤2中的配置信息输入用户名和口令,参考命令如下:C:\>ftpftp>openTo172.16.10.100//登录ftp服务器Connectedto172.16.10.100.220Serv-UFTPServerv6.2forWinSockready...User(none):test1//输入用户名331Usernameokay,needpassword.Password:123//输入用户密码230Userloggedin,proceed.//通过认证,登录成功ftp>quit//退出FTP221Goodbye!步骤5:停止截获报文,将截获的报文保存为FTP-1-学号。步骤6:在PC1和PC2上再次运行Ethereal,开始截获报文。步骤7:在PC2上打开浏览器窗口,地址栏输入ftp://172.16.10.100;由于未启用匿名帐户,连接断开并提示图5.45所示对话框。图45FTP文件夹错误此时,单击右键快捷菜单选择登陆,在图46所示登陆对话框中输入用户名和密码,登陆FTP服务器;图46FTP登陆对话框步骤8:在浏览器显示的用户目录下创建一个名为ftp-学号的文件夹,并将本地的一个文本文件f1.txt粘贴到新建文件夹下,停止截获报文,将截获的报文保存为FTP-2-学号。分析两次截获的报文,回答如下问题。1)对FTP-1-学号进行分析,找到TCP三次握手后第一个FTP报文,分析并填写表17。表17FTP报文格式分析源IP地址源端口目标IP地址目标端口FTP字段字段值字段所表达的信息ResponseCodeResponseArg2)在FTP-1-学号中找出FTP指令传送和响应的报文,填写表18;表18FTP指令和响应过程分析过程指令/响应报文号报文信息UserRequestResponsePasswordRequestResponseQuitRequestResponse3)对第二次截获的报文进行综合分析,观察FTP协议的工作过程。特别观察两种连接的建立过程和释放过程,以及这两种连接建立和释放的先后顺序,将结果填入表19。表19FTP传送过程中的报文文类型所包括的报文序号号客户端口号服务器端口控制连接的建立数据连接的建立FTP数据传送FTP指令传送和响应数据连接的释放控制连接的释放4)第二次截获的报文中,FTP客户是以PORT模式还是PASV模式连接服务器?你是如何判断的?__________________________________________________________________________________________________________________________________________________________5)FTP中的匿名帐户是______________________________;6.3HTTP协议分析实验1.HTTP协议简HTTP是超文本传输协议(HyperTextTransferProtocol)的缩写,用于WWW服务。(1)HTTP的工作原理HTTP是一个面向事务的客户服务器协议。尽管HTTP使用TCP作为底层传输协议,但HTTP协议是无状态的。也就是说,每个事务都是独立地进行处理。当一个事务开始时,就在万维网客户和服务器之间建立一个TCP连接,而当事务结束时就释放这个连接。此外,客户可以使用多个端口和和服务器(80端口)之间建立多个连接。其工作过程包括以下几个阶段。①服务器监听TCP端口80,以便发现是否有浏览器(客户进程)向它发出连接请求;②一旦监听到连接请求,立即建立连接。③浏览器向服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应。④释放TCP连接。在浏览器和服务器之间的请求和响应的交互,必须遵循HTTP规定的格式和规则。当用户在浏览器的地址栏输入要访问的HTTP服务器地址时,浏览器和被访问HTTP服务器的工作过程如下:①浏览器分析待访问页面的URL并向本地DNS服务器请求IP地解析;②DNS服务器解析出该HTTP服务器的IP地址并将IP地址返回给浏览器;③浏览器与HTTP服务器建立TCP连接,若连接成功,则进入下一步;④浏览器向HTTP服务器发出请求报文(含GET信息),请求访问服务器的指定页面;⑤服务器作出响应,将浏览器要访问的页面发送给浏览器,在页面传输过程中,浏览器会打开多个端口,与服务器建立多个连接;⑥释放TCP连接;⑦浏览器收到页面并显示给用户。(2)HTTP报文格式HTTP有两类报文:从客户到服务器的请求报文和从服务器到客户的响应报文。图5.46显示了两种报文的结构。图46HTTP的请求报文和响应报文结构在图46中,每个字段之间有空格分隔,每行的行尾有回车换行符。各字段的意义如下:①请求行由三个字段组成:*方法字段,最常用的方法为“GET”,表示请求读取一个万维网的页面。常用的方法还有“HEAD(指读取页面的首部)”和“POST(请求接受所附加的信息);*URL字段为主机上的文件名,这时因为在建立TCP连接时已经有了主机名;*版本字段说明所使用的HTTP协议的版本,一般为“HTTP/1.1”。②状态行也有三个字段:*第一个字段等同请求行的第三字段;*第二个字段一般为“200”,表示一切正常,状态码共有41种,常用的有:301(网站已转移),400(服务器无法理解请求报文),404(服务器没有锁请求的对象)等;*第三个字段时解释状态码的短语。③根据具体情况,首部行的行数是可变的。请求首部有Accept字段,其值表示浏览器可以接受何种类型的媒体;Accept-language,其值表示浏览器使用的语言;User-agent表明可用的浏览器类型。响应首部中有Date、Server、Content-Type、Content-Length等字段。在请求首部和响应首部中都有Connection字段,其值为Keep-Alive或Close,表示服务器在传送完所请求的对象后是保持连接或关闭连接。④若请求报文中使用“GET”方法,首部行后面没有实体主体,当使用“POST”方法是,附加的信息被填写在实体主体部分。在响应报文中,实体主体部分为服务器发送给客户的对象。图47和图48显示了Ethereal捕获的HTTP请求和响应报文,结合上面的介绍,请自己分析和体会。图47HTTP请求报文示例图48HTTP响应报文示例2.实验环境与说明(1)实验目的在PC机上访问RCMS的Web页面,截获报文,分析HTTP协议的报文格式和HTTP协议的工作过程。(2)实验设备和连接本地实验室环境,无须设备连接;注意:请通过访问可以连接的WWW站点或使用IIS建立本地WWW服务器来进行实验。(3)实验分组每四名同学为一组,每人一台计算机独立完成实验。3.实验步骤步骤1:在PC机上运行Ethereal,开始截获报文,为了只截获和我们要访问的网站相关的数据报,将截获条件设置为“notbroadcastandnotmulticast”;步骤2:从浏览器上访问Web界面,如http://202.202.43.125。打开网页,待浏览器的状态栏出现“完毕”信息后关闭网页。步骤3:停止截获报文,将截获的报文命名为http-学号保存。分析截获的报文,回答以下几个问题:1)综合分析截获的报文,查看有几种HTTP报文?________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________2)在截获的HTTP报文中,任选一个HTTP请求报文和对应的HTTP应答报文,仔细分析它们的格式,填写表20和表5.21。表20HTTP请求报文格式方法版本URL首部字段名字段值字段所表达的信息表21HTTP应答报文格式版本状态码短语首部字段名字段值字段所表达的信息3)分析在截获的报文中,客户机与服务器建立了几个连接?服务器和客户机分别使用了哪几个端口号?_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________4)综合分析截获的报文,理解HTTP协议的工作过程,将结果填入表22中。表22HTTP协议工作过程HTTP客户机端口号HTTP服务器端口号所包括的报文号步骤说明6.4电子邮件相关协议分析实验1.电子邮件相关协议简介一个电子邮件系统有图49所示的三个组成部分,即用户代理、邮件服务器和电子邮件协议。用户代理是在用户PC机上运行的程序,用户利用它来编辑、发送和接收邮件;邮件服务器是电子邮件系统的核心构件,功能是发送和接收邮件。电子邮件在发送和接收过程中所必须遵守的格式和规则就是电子邮件协议。其发送和接收过程如下:图49电子邮件的组成和工作过程*用户利用用户代理编辑一份电子邮件,指明收件人地址,然后利用SMTP协议将邮件发送到发送方的电子邮件服务器。*发送方的邮件服务器收到该邮件后,按照收件人地址中的邮件服务器的主机名,通过SMTP协议将邮件发送到接收方的电子邮件服务器,接收方的邮件服务器根据收件人地址中的账号将邮件放入对应的邮箱中。*利用POP3或IMAP协议,接收方用户可以在任何时间、地点使用用户代理从自己的邮箱中读取邮件。(1)简单邮件传送协议SMTPSMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从发送方服务器传输到接收方服务器。SMTP使用客户服务器方式,负责发送邮件的进程就是SMTP客户,负责接收邮件的进程是SMTP服务器。SMTP协议的工作过程如下:1)建立连接①SMTP客户每隔一定的时间对邮件缓存扫描一次,若发现有邮件,就使用25号端口与目的主机的SMTP服务器建立TCP连接。②在连接建立后,SMTP服务器要发出“220Serviceready”。③SMTP客户向SMTP服务器发送HELO命令,并附上发送方主机名。④SMTP服务器若有能力接收邮件,则回发“250OK”,表示已准备好接收;否则,则回答“421Servicenotavailable”。2)邮件传送①SMTP客户向服务器发送MAILFROM命令,开始发送邮件,命令后跟发信人地址。②若SMTP服务器准备好接受邮件,则回答“250OK”。否则,返回一个代码,指出出错原因。③SMTP客户发一个或多个RCPTTO命令,其格式为RCPTTO:<收信人地址>,指出信件要发送的目的地。对每个RCPT命令,若其后的邮箱在接收端系统中,则服务器回答“250OK”。否则,回答“550Nosuchuserhere”。④接着,SMTP客户发送DATA命令,表示要开始发送邮件内容了。若能接收邮件,SMTP服务器返回“354sendthemaildata,endwith.”;否则,返回“421(服务器不可用)”、“500(无法识别)”等。注意:分别表示十六进制字符0d、0a,即\r和\n。⑤SMTP客户发送邮件内容,发送完毕,再发送。若邮件收到了,则服务器返回“250OK”,否则,返回一个差错代码。3)释放连接邮件发送完毕后,SMTP客户发送QUIT消息,服务器返回“221Bye”。断开TCP连接,结束邮件传输。(2)邮局协议POP3POP协议用作从服务器到客户端的邮件传输中,尽管它的功能有限,但它的使用非常广泛,目前已发展到第三版,称POP3。在POP3协议中有三种状态:确认状态、处理状态和更新状态。初始时,服务器通过侦听TCP端口110开始POP3服务。当客户需要使用服务时,它将与服务器主机建立TCP连接,POP3服务器发送一个单行的确认消息,如“OKWelcometocoremailMailPop3Server”之类的消息。此时,POP3会话就进入了确认状态。1)确认状态POP3客户首先发送user命令,将用户账号发送给pop3服务器,如果POP3服务器以“OK”信息响应,客户就可以发送pass命令以完成确认。当客户发送了pass命令后,服务器根据user和pass命令的附加信息决定是否允许访问相应的邮件并返回应答信息。2)处理状态一旦POP3服务器成功地确认了客户的身份,服务器给相应的邮件加排他锁并打开该邮件,这时POP3会话进入处理状态。客户可以使用下面的POP3命令对邮件进行操作,对于每个命令服务器都会返回应答。*STAT请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数。*UIDL请求服务器发回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的。*LIST请求服务器发回邮件数量和每个邮件的大小。*RETR请求服务器发回由参数标识的邮件的全部文本。*DELE请求服务器将由参数标识的邮件标记为删除,由quit命令执行。*RSET请求服务器将重置所有标记为删除的邮件,用于撤消DELE命令。*TOP请求服务器将返回由参数标识的邮件前n行内容,n必须是正整数。3)更新状态当客户在处理状态下发送quit命令后,会话进入更新状态。(注意:如果客户在确认状态下发送quit后,会话不进入更新状态。)服务器删除所有标记为删除的邮件,然后释放排它锁,并返回这些操作的状态码。此后,TCP连接被中断。如果会话因为quit命令以外的原因中断,会话并不进入更新状态,也不从服务器中删除任何信件。2.实验工具软件简介为了观察到邮件发送的全部过程,需要在本地计算机上配置邮件服务器和客户代理。在这里我们使用CMailServer服务器软件配置本地邮件服务器,使用WindowsXP自带的OutlookExpress作为客户代理。(1)CMailServerCMailServer于2000年8月问世,是安全易用的全功能的邮件服务器软件,基于Windows平台,支持通用邮件客户端软件OutlookExpress、MicrosoftOutlook、Foxmail等收发邮件。CMailServer设置简单,容易使用,非常适合实验使用。(2)OutlookExpressOutlookExpress是Windows系统自带的电子邮件客户端软件,功能强大,支持多用户,无论是电子邮件还是新闻组,OutlookExpress都是有力的重要工具软件。3.实验环境与说明(1)实验目的学习CMailServer邮件服务软件和OutlookExpress客户端软件的基本配置与使用,分析SMTP及POP3协议报文格式和SMTP及POP3协议的工作过程。(2)实验设备和连接实验设备和连接图如图50所示,一台锐捷S2126G交换机连接了2台PC机,分别命名为PC1、PC2,交换机命名为Switch。图50Ethernet链路层帧结构实验连接图(3)实验分组每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。4.实验步骤步骤1:按照如图50所示连接好设备,配置PC1和PC2的IP地址,验证连通;步骤2:CMailServer邮件服务器配置在PC1上安装CMailServer,启动后出现图51所示界面。图51CMailServer主界面在初次进入CMailServer后,系统只提供Admin系统管理帐户,需要配置后才能使用。就本次实验而言,我们只要完成服务器设置和帐户设置,就可以进行实验了。首先,选择菜单:工具-服务器设置,打开图52所示对话框,完成如下设置:*服务:选择为局域网邮件服务器;*取消允许ESMTP、邮件代理和作为NT服务运行的选择;*邮箱域名设置为:单域名,并指定。由于实验网络并没有接入外部网络,因此这里可以由学生自己定义,例如test.com。而后,选择菜单:账号-新建账号打开图53所示对话框,完成新账号设置。*账号指定为:test1;密码设置为:111;姓名指定为:Test;在完成上述配置后,PC1就可以提供实验所需的电子邮件服务了,新建的账号邮箱为:test1@test.com。同学在实验时,要求设置域名为:班号.cn、账号为自己的名字拼音缩写、密码为自己的学号、姓名为自己的真实姓名。图52CMailServer系统设置图53CMailServer新建帐户步骤3::OutlookExpress客户端配置打开OutlookExpress,点击“工具”,然后选“帐户”,打开图54所示对话框。图54OutlookExpress的账号管理单击添加,选择邮件,进入Internet连接向导。以上例,显示名:输入用户的姓名;电子邮件地址输入test1@test.com.;接收邮件服务器和发送邮件服务器设置为PC1的IP地址;帐户名和密码输入test1和111,直到完成。在帐户列表中就会看到新设置的邮件帐户,单击属性,查看设置,如图55和图56所示。图55帐户常规属性图56帐户服务器设置步骤3:在PC2上使用OutlookExpress创建新邮件,收信人为自己,如图57所示,点击菜单:文件-以后发送,将邮件保存到发信箱;图57新邮件示例步骤4:在PC1和PC2上运行Ethereal,开始截获报文。PC2执行OutlookExpress发送与接收;如果邮件收发都没有问题,可以在CMailServer状态窗口中看到图5.58所示信息。图58CMailServer界面步骤5:停止截获报文,将截获的结果保存为Mail-学号并进行分析。图59电子邮件协议分析实验抓包图59显示了通过PC1监控到数据流量,分析这些数据包并回答下列问题:1)综合分析截获的报文,从TCP连接建立后开始分析SMTP协议的工作过程,填写表23,仅填写SMTP报文:表23SMTP传输过程SMTP连接的建立过程报文号源站点目标站点报文信息及参数报文作用邮件传送过程报文号源站点目标站点报文信息及参数报文作用SMTP连接的释放过程报文号源站点目标站点报文信息及参数报文作用2)综合分析截获的报文,从TCP连接建立以后开始分析POP3协议的工作过程,将结果填入表24,仅考虑请求和应答报文。表表24POP3协议工作过程协议工作过程状态报文号类型(请求/应答)信息及参数报文作用确认状态处理状态更新状态3)查看两次截获的报文的结果中TCP连接建立的过程,回答SMTP和POP3分别使用的TCP端口是多少。__________________________________________________________________________________________________________________________________________________________6.5TELNET协议分析实验1.TELNET协议概述TELNET是一个简单的远程终端协议,它的目的是提供一个相对通用的、双向的、面向八位字节的通信方法。用户使用TELNET就可以在其所在地通过TCP连接登录到远程的另一台主机上(使用主机名和IP地址)。TELNET能将用户的击键传到远地主机,同时也将远程主机的输出通过TCP连接返回到用户屏幕。(1)TELNET的服务过程:Telnet远程登录服务分为以下四个过程:*本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的IP地址或域名;*将本地终端上输入的用户名和口令及以后输入的任何命令或字符以网络虚拟终端NVT(NetVirtualTerminal)格式传送到远程主机。*将远程主机输出的网络虚拟终端格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;*最后,本地终端撤消对远程主机连接。该过程是撤销一个TCP连接。(2)网络虚拟终端的格式定义网络虚拟终端的定义很简单。所有的通信都使用八位的字节。在运转时,网络虚拟终端使用七位ASCII传送数据,当高位置1时用作控制命令。ASCII码共有95个可打印字符和33个控制字符。所有的可打印字符在NVT中的意义与在ASCII码中一样。但在NVT中止使用了ASCII码中控制字符的几个,如NUL、BEL、BS、HT、LF、FF和CR等。NVT定义了两个字符CR-LF为 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的行结束控制符。不论用户键入的是CR还是LF,TELNET的客户都将其转换为CR-LF再进行传输,而TELNET服务器要将CR-LF转换为远程机器的行结束字符。此外,通过TELNET选项协商,TELNET客户和TELNET服务器可以商定获得尽可能多的终端服务功能。(3)TELNET选项协商一旦TELNET连接建立,由于每一方都希望从另一方获得尽可能多的服务,连接双方间的可选请求会不断来回传送。除此之外,这些可选请求还可用于动态修改连接特性以适应不断改变的本地环境。因此,TELNET连接双方首先要交互的信息是选项协商数据。选项协商是对称的,也就是说任何一方都可以主动发送选项协商请求给对方。选项协商可分为两种类型:单命令选项协商:即在单一命令中完成的协商,这种协商类型可以看成启动和废止一个标志的请求。子协商:一旦达成某种协议,就需要在协商进程之间传送附加信息,这种附加信息的交换叫做子协商。*单命令选项协商格式基本选项协商的格式有三个字节构成。第一字节是传统的命令解释命令IAC(255)字段,该字段的功能是通知远端进程在数据流中有一个TELNET命令;第二个字节规定了请求代码字段,标识请求的类型;第三个是选项代码字段,标识协商的特定选项。表19列出了TELNET的四种请求,表25列出了常见的TELNET协商选项。表25TELNET请求类型请求类型请求代码表示的意义Will251发送方希望开始执行指定选项Won’t252发送方不会(不能)执行指定选项Do253发送方希望接收方执行指定选项Don’t254发送方不想让接收方执行指定选项表26常见的TELNET选项选项(命令)名称选项代码描述TransmitBinary0二进制传输选项Echo1回送选项:协商终端是否将接收的内容返回给发送者SuppressGoAheads3抑制前进选项Status5Telnet的状态选项TimingMark6定时标记选项TerminalType24终端类型选项NegotiateAboutWindowSize31窗口尺寸选项ExtendedOptionsList255扩展选项列表选项*子协商选项格式子协商选项可以利用SB(250)和SE(240)命令字节传送,其格式如图26。在子协商头部有一个一字节的命令解释命令IAC,SB命令放在要传送的数据开头,表示子协商选项开始;SE命令放在末尾表示子协商选项结束。数据是特定子协商的协议选项和数据值,它可以是任意长度和任何格式。图60TELNET子协商选项格式图61TELNET协议协商示例客户机和服务器使用标准的WILL/DO/iDON'T/WON'T机制来进行各种选项的协商,如果客户机和服务器对某个选项达成某种协议,客户机会使用一个子协商将该选项的有关内容发回个服务器。例如,客户机和服务器使用WILL(或DO或DON'T或WON'T)进行窗口尺寸的协商,如果客户机和服务器都同意,客户机就可以发送一个子协商用来传递窗口的尺寸(窗口的宽度和高度)。如果以后客户机的窗口尺寸改变了(例如,窗口尺寸被用户改变),客户机可能再次发送这个子协商。图61显示了Ethereal分析的TELNET报文,可供参考。(4)TELNET客户机和服务器的四种操作方式*TELNET的半双工这是Telnet的默认方式,但现在却很少使用。NVT默认是一个半双工设备,在接收用户输入之前,它必须从服务器进程获得GOAHEAD(GA)命令。用户的输入在本地回显,方向是从NVT键盘到NVT打印机,所以客户进程到服务器进程只能发送整行的数据。*TELNET的单字符方式用户在终端输入的每个字符都将由终端发送到服务器进程,服务器进程的响应也将以字符方式回显到终端上。目前大多数Telnet实现都把这种方式作为默认方式。*TELNET的一次一行方式(准行方式)如果客户不支持行方式,那么较新的服务器支持行方式选项,它也将转入准行方式(Kludgelinemode)。所有的客户进程和服务器进程都支持准行方式,但它不是默认方式,必须由客户进程或用户激活它。*TELNET的行方式这个选项也是通过客户进程和服务器进程进行协商而确定的,它纠正了准行方式的所有缺陷。目前比较新的Telnet实现支持这种方式。2.TELNET客户机和服务器Windows2000和WindowsXP都提供了Telnet客户机和服务器程序:Telnet.exe是客户机程序(Client),tlntsvr.exe是服务器程序(server)。它们都默认安装了Telnet服务。TELNET客户程序为用户提供命令接口。在Windows2000中,在“控制面板-管理工具”通过点击“Telnet服务器管理”启动TELNET服务器。在WindowsXP中,则需要到“控制面板-管理工具-服务”启动TELNET服务器程序。常用的Telnet客户端命令如下:open:使用“open主机名/IP地址”可以建立到主机的Telnet连接。close:关闭现有的Telnet连接。display:查看Telnet客户的当前设置。quit:退出Telnet客户程序。用户一旦连接到TELNET服务器上,用户就可以使用任何远程计算机上基于字符的应用程序,查看TELNET服务器的信息,和TELNET服务器进行数据传输。在本次实验中,我们使用R1760路由器作为TELNET服务器,由于路由器配置TELNET连接已经介绍过了,所以这里不复赘言。(编者注:用校园网上的BBS系统,或者任何一台LINUX服务器代替路由器即可。)3.实验环境与说明(1)实验目的在一台计算机上使用Telnet远程登录到路由器上,从计算机上截获报文,分析TELNET协议的工作过程和选项协商格式,理解TELNET的基本工作原理。(2)实验设备和连接实验设备和连接图如图62所示,一台锐捷S2126G交换机连接了2台PC机,分别命名为PC1、PC2,交换机命名为Switch。图62TELNET协议分析实验连接图(3)实验分组每四名同学为一组,一人一台路由器,每人各自独立完成实验。4.实验步骤步骤1:按照如图62所示连接好设备,配置路由器R1760的TELNET连接;相关配置如下所示:router#configureterminalrouter(config)#linevty04router(config-line)#loginrouter(config-line)#passwordstarrouter(config-line)#exitrouter(config)#interfacefastEthernet1/0router(config-if)#ipaddress172.16.10.1255.255.255.0router(config-if)#noshutdownrouter(config-if)#end步骤2:配置PC1的IP地址,验证连通;(编者注:实验室中任何一台PC都可以作为模型中的PC1;用校园网上的BBS系统代替路由器即可。)步骤3:在PC1上运行Ethereal,设置默认截获条件,开始截获报文。步骤4:在PC1中打开命令窗口,在命令提示符下依次输入下列命令且按回车键结束:Telnet172.16.10.1如图63所示执行操作:图63PC客户端的TELNET操作步骤5:停止截获报文,将截获的结果保存为TELNET-学号,并分析截获的结果,完成以下各题。1)TCP连接建立后的第一个TELNET协议数据报的功能是进行选项协商吗?在这个数据报中对哪些选项进行了协商?列出它们的选项名和选项代码。_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________2)分析的上面那个报文,写出所有选项的格式并指出格式中每一部分的意义。表27TELNET报文分析请求类型请求类型代码选项(命令)名称选项代码意义3)在TCP连接时,TELNET使用的端口号是多少?_____________________________________4)从TCP连接建立后开始分析截获的报文,填写表28,若表行不够可自行增加,TELNET数据传输只填写客户端输入命令的传输报文。表28TELNET协议工作过程过程报文号功能(选项协商/数据传输)信息及参数报文作用TELNET选项协商TELNET数据传输5)从表28的数据传输部分可以看出,在你的系统中,TELNET采用哪种工作方式?__________________________________________________________________________________________________________________________________________________________6)仔细分析截获的数据报,写出TELNET协议工作的全过程。
本文档为【网络应用层协议分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
万里一叶飘
从事各类规章制度的编写,焊接工作,无检测工作,编写作业指导书,建筑行业施工方案作业,医疗卫生等方面的工作
格式:doc
大小:872KB
软件:Word
页数:0
分类:生产制造
上传时间:2021-09-18
浏览量:6