资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第9章:POP3和SMTP,9.1 POP3协议,第四组全体成员: 主讲人:陈凯亚 POP3资料搜集:建金闪、赵盼 SMTP资料搜集:于洋洋、江坤 课件制作:徐创朝、韩凯、李晨,1.POP3的简述:,POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”。是TCP/IP协议族中的一员,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。 POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC机或 MAC。一旦邮件发送到 PC 机或 MAC上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。,2.POP3协议的特性:,POP3协议默认端口:110 POP3协议默认传输协议:TCP POP3协议适用的构架结构:C/S POP3协议的访问模式:离线访问,3. 三种状态,POP3会话在生命周期中有三种不同的状态:确认状态,操作状态和更新状态。 当客户机与服务器建立TCP连接时,就进入了“确认”状态。 客户机向服务器发送自己身份(这里指的是账户和密码,采用ASCII明文发送用户名和口令集给服务器)并由服务器成功确认,即客户端由认可状态转入“操作”状态,在完成列出未读邮件等相应的操作后客户端发出quit命令,退出“操作”状态进入“更新”状态,开始下载未阅读过的邮件到计算机本地之后最后重返“确认”状态确认身份后断开与服务器的连接。 具体原理如下图 : 等待连接身份确认quit命令 | C|确认|操作|更新|- S |_| 重返认证状态,POP3中用户的密码是明文传送的,具有安全隐患,请问该怎么办? 答: POP3使用PASS命令传送用户的密码,并以明文传送,因此具有安全隐患. 现在,POP3提供另外一个命令APOP,可以安全传输用户密码,避免了安全隐患.,问题,4.命令和响应,POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。服务器响应是由一个单独的命令行组成或多个命令行组成,响应第一行以ASCII文本+OK或-ERR(OK指成功,-ERR指失败)指出相应的操作状态是成功还是失败。POP3所有命令及服务器的响应的状态均以一个对结尾。,5.Pop3的命令及用法,6.一次完整的POP3的会话实例:,开始时,客户端与服务器经过三次握手建立TCP连接,经过三次握手之后,服务器发送一个POP3响应,进入确认状态,POP3做出响应,状态码为OK,响应信息以结束,图中用rn表示。 进入确认状态后,客户端须向服务器证明其身份,客户端发送USER命令,输入用户名 服务器发送TCP确认并返回一个状态吗OK,表示接受客户端的user命令,客户端 C,服务器 S,响应+OK rn,USER 用户名,响应+OK,客户端 C,客户端 C,服务器 S,客户端 C,客户端发送PASS命令,输入密码 若用户名和密码正确,服务器返回一个消息,状态码为OK,同时客户端可以看到邮件信息:一封邮件,大小807B 客户端发送STAT请求命令获得邮箱里的邮件数量级大小 服务器回应STAT请求,状态码为OK,客户端 C,服务器 S,响应+OK,STAT,响应+OK,客户端 C,客户端 C,服务器 S,客户端 C,PASS 密码,客户端发送LIST命令来获得邮箱里邮件编号,Response Arg 1807 表示有一封信,大小807B 服务器回应LIST请求,状态码为OK,客户端 C,服务器 S,响应+OK,客户端 C,客户端 C,服务器 S,客户端 C,LIST Response Arg 1807,RETR 命令是收邮件中最重要的命令,作用是查看邮件内容,它必须带参数进行,该命令执行之后,服务器应答的信息较长,其中包括邮件头(电子邮箱地址、发件时间、邮件主题等)邮件头后面紧接着是邮件正文。 RETE 1表示查看第一封邮件,,服务器回应RETR请求,状态码为OK,接着,服务器向客户端传输数据,客户端对收到的数据进行TCP确认,服务器继续传输数据,传送结束时, 服务器发送一个结束字符和一个CRLF对,顺序为CRLF-CRLF,客户端用DELE命令删除指定的邮件(注意:DELE N 只是给邮件做上删除的标记,等执行QUIT命令之后,邮件才被删除),服务器回应DELE请求,状态码为OK,客户端用QUIT命令来结束与POP3服务器的会话,服务器接受客户端的QUIT命令,返回一个信息,状态码OK,经过TCP4次握手,结束整个POP3连接,9.2 SMTP协议,SMTP(Simple Mail Transfer Protocol),即简单邮件传送协议,所对应RFC文档为RFC821。同http等多数应用层协议一样,它工作在C/S模式下,用来实现因特网上的邮件传送。,1.SMTP的简述,SMTP工作有两种情况:一是电子邮件从客户机传输到服务器;二是从某一服务器传输到另一服务器。 SMTP是个请求/响应协议,名利和响应用NVT ASCII字符,并以CR和LF符结束响应包括一个表示返回状态的三位数字代码,SMTP在TCP协议25号端口监听连接请求。,2.SMTP的通信过程,发送端邮件服务器(简称客户端)与接收端邮件服务器(简称服务器)的25号端口建立TCP连接。 客户端向服务器发送各种命令,来请求各种服务(如认证、指定发送人和接收人)。 服务器解析用户的命令,做出相应动作并返回给客户端一个响应。 第2步和第3步交替进行,直到所有邮件都发送完或两者的连接被意外中断。,3.SMTP的应答序列,211系统状态或系统帮助响应 214帮助信息 220domain服务就绪 221domain服务关闭 250要求的邮件操作完成 251用户非本地,将转发向forward-path 354开始邮件输入,以“.”结束 421domain服务未就绪,关闭传输信道 450要求的邮件操作未完成,邮箱不可用 451放弃要求的操作;处理过程中出错 452系统存储不足,要求的操作未执行 501参数格式错误 502命令不可实现 503错误的命令序列 504命令参数不可实现 550要求的邮件操作未完成,邮箱不可用 551用户非本地,请尝试forward-path 552过量的存储分配,要求的操作未执行 553邮箱名不可用,要求的操作未执行 554操作失败,4.SMTP的基本命令集,5.SMTP会话的建立,一次邮件的发送要经过好几次传递,建立好几次SMTP会话,会话的建立: 建立TCP 连接 客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令,服务器端以OK做为响应,表明准备接收在EHLO命令之后,接着电子邮件程序会发送MAIL命令。MAIL命令标识出发送者,它有两个参数“FROM :”和一个电子邮件地址。如果SMTP服务程序能够成功地解析电子邮件地址的话,通常它将返回以250开头的回应消息;否则将发送回表示操作是失败的回应消息。,客户端发送RCPT命令,以标识电子邮件的计划接收人,可以有多个RCPT行,服务器端发回响应表示是否愿意为收件人接收邮件 协商结束,发送邮件,用命令DATA发送 以“.”表示结束输入内容并一起发送出去 结束此次发送,用QUIT命令退出,6.SMTP会话实例,客户端与服务器端通过TCP的三次握手建立TCP连接,服务器端口为25,服务器端发送响应,应答代码为220,表示服务器准备就绪,客户端发送EHLO命令,表示开始SMTP会话 服务器端返回SMTP响应,应答码为250,表示请求建立的邮件服务会话已经就绪 出于安全考虑,SMTP服务器要求发送邮件时,对发送者进行身份验证,客户端发送AUTH LOGIN命令 服务器返回应答,应答码为334,还可以看到一些用base64编码的字符串文本,该字符串 的意思为username 接下来客户端发送用base64编码的用户名给服务器,客户端 C,服务器 S,客户端 C,客户端 C,服务器 S,客户端 C,服务器 S,客户端 C,客户端 C,服务器 S,客户端 C,客户端 C,客户端 C,250 会话就绪,AUTH LOGIN,334 base64编码-username,base64编码-username,EHLO 开始会话,服务器发回响应,响应码为334,同时返回base64编码串,意思为passwd 客户端发送用base64编码的密码给服务器 服务器端发送TCP确认 服务端返回码为235,表示认证成功可以发送邮件了,客户端 C,服务器 S,base64 pwd,客户端 C,客户端 C,服务器 S,客户端 C,334 base64 pwd,TCP 确认,235 认证成功,客户端发送“MAIL FROM:”命令用来告诉服务器发送者的邮件地址 服务器返回一个TCP确认 服务器返回SMTP响应,应答码250,表示操作成功,服务器就绪 客户端用“RCPT TO:”命令用来指定邮件接收者的邮箱地址 服务器返回SMTP响应,应答码为250,表示操作成功,服务器准备就绪,客户端 C,服务器 S,TCP 确认,客户端 C,客户端 C,服务器 S,客户端 C,MAIL FROM:发送者地址,250 操作成功,RCPT TO: 接收者地址,250 操作成功,客户端发送DATA命令,表示将要发送邮件正文了 服务器对DATA命令返回一个应答,应答码为354,表示服务器准备接收数据,数据包文以.的行结束 客户端传送邮件正文,客户端用连续的行发送报文内容,每一行的行结束用终止 服务器发送TCP确认,对收到的数据进行确认,客户端 C,服务器 S,354 准备接收,客户端 C,客户端 C,服务器 S,客户端 C,DATA,传送邮件内容,TCP 确认,客户端发送文件结束信息EOM(End Of Message) 服务器发送TCP确认 服务器返回SMTP响应,应答码为250,表示操作成功,到此一封邮件已经发送成功,可以发送下一封邮件 客户端返回QUIT命令来结束连接 服务器返回TCP确认 服务器返回SMTP响应,应答码为221,表示服务关闭,客户端 C,服务器 S,TCP 确认,客户端 C,客户端 C,服务器 S,客户端 C,EOM,250 操作成功,QUIT 结束连接,TCP 确认,221 服务关闭,总结:,结束,谢谢!,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号