smtp和pop3协议分析1Word文档格式.docx

上传人:b****1 文档编号:5251590 上传时间:2023-05-04 格式:DOCX 页数:19 大小:986.59KB
下载 相关 举报
smtp和pop3协议分析1Word文档格式.docx_第1页
第1页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第2页
第2页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第3页
第3页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第4页
第4页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第5页
第5页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第6页
第6页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第7页
第7页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第8页
第8页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第9页
第9页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第10页
第10页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第11页
第11页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第12页
第12页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第13页
第13页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第14页
第14页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第15页
第15页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第16页
第16页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第17页
第17页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第18页
第18页 / 共19页
smtp和pop3协议分析1Word文档格式.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

smtp和pop3协议分析1Word文档格式.docx

《smtp和pop3协议分析1Word文档格式.docx》由会员分享,可在线阅读,更多相关《smtp和pop3协议分析1Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。

smtp和pop3协议分析1Word文档格式.docx

指导教师签名:

年月日

摘要

电子邮件是因特网上使用最多的和最受用户欢迎的一种应用。

一个电子邮件系统具有:

用户代理、邮件服务器,以及邮件发送协议(如SMTP)和邮件读取协议(如POP3)。

在了解电子邮件通信原理的基础上进一步分析了简单邮件传送协议SMTP和邮局协议第3个版本POP3。

关键词:

电子邮件;

SMTP;

POP3

目录

1课题描述1

2概要分析2

2.1电子邮件的通信过程2

2.2电子邮件协议2

3详细分析3

3.1SMTP的协议分析3

3.1.1SMTP的工作原理3

3.1.2SMTP的主要命令4

3.2POP3的协议分析4

3.2.1POP3的工作原理5

3.2.2POP3的主要命令5

4协议模型与数据分析6

4.1SMTP协议分析数据包7

4.2POP3协议分析数据包12

5总结13

参考文献14

1课题描述

Internet最基本的服务,也是最重要的服务之一,就是电子邮件服务。

电子邮件服务还具有快速、经济的特点。

发一份电子邮件给远在他方的一位用户,通常来说,对方几分钟之内就能收到。

如果选用传统邮件,发一封特快专递也需要至少几天的时间。

与实时信息交流,如电话相比,因为电子邮件是采用存储转发的方式,发送邮件时,并不需要收件人处于在线状态,收件人可以根据实际需要随时上网从邮件服务器上收取邮件,方便了信息的交流。

电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取。

而邮件服务器需要使用两种不同的协议。

一种协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP协议,而另一种用于用户代理从邮件服务器读取邮件,如邮局协议POP3。

这里主要分析SMTP和POP3这两种协议,了解它们的工作原理。

2概要分析

2.1电子邮件的通信过程

一个电子邮件系统应具有图2.1所示的三个组成构件,这就是用户代理、邮件服务器,以及邮件发送协议(如SMTP)和邮件读取协议(如POP3)。

图2.1电子邮件系统

电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取。

电子邮件的收发过程如图2.2所示。

图2.2邮件收发过程

2.2电子邮件协议

当前常用的电子邮件协议有SMTP(简单邮件传输协议)、POP3(邮局协议)、IMAP4(Internet邮件访问协议),它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。

SMTP主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器。

POP3是把邮件从电子邮箱中传输到本地计算机的协议。

IMAI4是POP3的一种替代协议,提供了邮件检索和邮件处理新功能,这样用户可以不必下载邮件正文就可以看到邮件的标题摘要,从邮件客户端软件就可以对服务器上的邮件和文件夹目录等进行操作。

在这里我们着重分析SMTP和POP3这两种基本的协议。

3详细分析

3.1SMTP的协议分析

SMTP是SimpleMailTransferProtocol的缩写,即简单邮件传输协议,基于TCP的应用层明文传送,使用服务端口25,是一种提供有效可靠传送电子邮件的协议。

用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件。

负责发送邮件的服务器称为SMTP客户,负责接收邮件的服务器称为SMTP服务器。

3.1.1SMTP的工作原理

SMTP通常有两种工作模式:

发送SMTP和接收SMTP。

SMTP的通信模型如图3.1所示,具体工作方式为:

发送SMTP在接到用户的邮件请求后,判断此邮件是否为本地邮件,若是直接投送到用户的邮箱,否则向DNS查询远端邮件服务器的MX纪录,并建立与远端接收SMTP之间的一个双向传送通道,此后SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方向传送(SMTP协议对每一个命令都会返回一个应答)。

一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。

如果SMTP接收者可以接收邮件则返回OK应答。

SMTP发送者再发出RCPT命令确认邮件是否接收到。

如果SMTP接收者接收,则返回OK应答;

如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。

当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答即可。

SMTP命令

应答

图3.1SMTP的通信模型

SMTP主要经过建立连接、传送邮件和释放连接3个阶段。

具体为:

1)客户端使用TCP协议连接SMTP服务器的25端口;

2)客户端发送HELO报文将自己的域地址告诉给SMTP服务器;

3)SMTP服务器接受连接请求,向客户端发送请求账号密码的报文(AUTHLOGIN);

4)客户端向SMTP服务器传送账号和密码,如果验证成功,向客户端发送一个OK命令,表示可以开始报文传输;

5)客户端使用MAIL命令将邮件发送者的名称发送给SMTP服务器;

6)SMTP服务器发送OK命令做出响应;

7)客户端使用RCPT命令发送邮件接收者地址,如果SMTP服务器能识别这个地址,就向客户端发送OK命令,否则拒绝这个请求;

8)收到SMTP服务器的OK命令后,客户端使用DATA命令发送邮件的数据。

9)客户端发送QUIT命令终止连接。

3.1.2SMTP的主要命令

直接使用SMTP协议发送邮件的命令如表3.1所示:

表3.1SMTP基本命令集

命令

描述

HELO

发件方问候收件方,后跟发件人的服务器地址或标识。

收件方回答OK时标识自己的身份。

问候和确认过程表明两台机器可以进行通信,同时状态参量被复位,缓冲区被清空。

MAIL

用来开始传送邮件,后跟发件方邮件地址(返回邮件地址)。

它也用来当邮件无法送达时,发送失败通知。

PCPT

告诉收件方收件人的邮箱。

当有多个收件人时,需要多次使用该命令,每次只能指明一个人。

如果接收方服务器不同意转发这个地址的邮件,它必须报550错误代码通知发件方。

如果服务器同意转发,它要更改邮件发送路径,把最开始的目的地换成下一个服务器。

DATA

收件方把该命令之后的数据作为发送的数据。

数据被加入数据缓冲区中,以单独一行是<

CRLF>

,<

的行结束数据。

结束行对于接收方同时意味着立即开始缓冲区内的数据传送,传送结束后清空缓冲区。

如果传送接受,接收方回复OK

QUIT

SMTP要求接收方必须回答OK,然后中断传输;

在收到这个命令并回答OK前,收件方不得中断连接,即使传输出现错误。

发件方在发出这个命令并收到OK答复前,也不得中断连接。

RSET

这个命令用来通知收件方复位,所有已存入缓冲区的收件人数据,发件人数据和待传送数据都必须清除,接收方必须回答OK

3.2POP3的协议分析

POP3(PostOfficeProtocol3)即邮局协议的第3个版本,主要用于支持使用客户端远程管理在服务器上的电子邮件。

该协议是在RFC-1939中定义的,是Internet上的大多数人用来接收邮件的机制。

POP3采用Client/Server工作模式,默认使用TCP110端口。

它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

3.2.1POP3的工作原理

POP3会话在生命周期中有三个不同的状态:

认证状态,处理状态和更新状态。

一旦TCP连接被打开,就进入了“确认”状态,大多数现有的POP3客户端与服务器执行采用ASCII明文发送用户名和口令给服务器进行身份确认,客户端必须向POP3服务器确认自己是其客户,服务器确认后,服务器会在邮件上加上排它锁,以防止在进入“更新”状态前对邮件的改变,服务器返回一个“确认”状态码,确认成功后就进入“操作”状态,在该状态下,服务器就获取与客户邮件相关的资源,客户提出服务,完成相应的操作后,客户发出QUIT命令,希望结束会话,如果这时的服务器端处于“操作”状态,则在QUIT命令后进入“更新”状态,删除那些标记成删除的邮件。

如果服务器端处于“确认”状态,则结束会话时服务器端部进入“更新”状态。

POP3具体工作原理:

1)客户端使用TCP协议连接邮件服务器的110端口;

2)客户端使用USER命令将邮箱的账号传给POP3服务器;

3)客户端使用PASS命令将邮箱的账号传给POP3服务器;

4)完成用户认证后,客户端使用STAT命令请求服务器返回邮箱的统计资料;

5)客户端使用LIST命令列出服务器里邮件数量;

6)客户端使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态;

7)客户端发送QUIT命令,邮件服务器将将置为删除标志的邮件删除,连接结束。

(注:

客户端UA可以设定将邮件在邮件服务器上保留备份,而不将其删除。

3.2.2POP3的主要命令

使用POP3协议接收邮件的命令如表3.2所示:

表3.2POP3常用命令及用法

参数

状态

USER

Username

确认

用户身份确认是提供用户名

PASS

Password

用户身份确认是提供密码

APOP

Name,Digest

指定邮箱的字串和MD5摘要串

STAT

None

操作

请求服务器发回关于邮箱的统计资料

UIDL

Msg#

返回邮件的唯一标识符,POP3会话每个标识符唯一

LIST

返回邮件数量和每个邮件的大小

RETR

返回由参数标识的邮件的全部文本

DELE

服务器将由参数标识的邮件标记为删除,由QUIT执行

服务器将重置所有标记为删除的邮件,用于撤销DELE命令

TOP

服务器将返回由参数标识的邮件前n行内容,n必须是正整数

NOOP

服务器返回一个肯定的响应

更新

结束会话

4协议模型与数据分析

实际电子邮件收发过程如图4.1所示:

图4.1电子邮件的收发过程

按照电子邮件收发模型的原理,搭建拓扑如图4.2所示,抓取数据包进行协议分析。

图4.2试验拓扑结构

图4.2的拓扑模型是在实验环境中,发件人和收件人使用的是同一台主机(其IP地址相同)。

发件人使用QQ邮箱客户端给收件人的163邮箱发送电子邮件,会先发送电子邮件到QQ邮件服务器,QQ服务器通过查找本服务器的记录然后将邮件发送给163邮箱服务器,其中这两步都是使用SMTP协议。

收件人接收邮件时,会将邮件从他的163服务器下载到本地的客户端,使用的是POP3协议。

客户端使用Outlookexpress邮件传输工具来发送和接收邮件。

图中所有的IP地址是根据抓取的数据包获得的。

4.1SMTP协议分析数据包

发件人向QQ服务器发起会话建立TCP连接,如图4.2所示:

图4.2TCP连接的建立

QQ服务器发送响应,应答码220,表示服务器已准备就绪,如图4.3所示:

图4.3服务器准备就绪

主机向QQ服务器发送HELO命令,表示开始SMTP回话,如图4.4所示:

图4.4HELO命令

服务器端返回响应,应答码为250,表示请求建立的邮件服务会话已就绪,如图4.5所示:

图4.5应答码250

主机向QQ服务器发送AUTH命令,进行认证,如图4.6所示:

图4.6认证功能

服务器返回应答,应答码334,同时返回base64编码串,意思为password,如图4.7所示:

图4.7应答码334

主机发送用base64编码的用户名给服务器,如图4.8所示:

图4.8用户名

服务器发回响应,响应码为334,同时返回base64编码串,意识为password,如图4.9:

图4.9应答码334

主机发送用base64编码的密码给服务器,如图4.10所示:

图4.10发送密码

服务器端发送TCP确认,如图4.11所示:

图4.11服务端TCP确认

服务端返回码为235,表示认证成功可以发送邮件了,如图4.12所示:

图4.12返回码235

主机发送“MAILFORM:

”用来告诉服务器发送者的邮箱地址,如图4.13所示:

图4.13发送MAIL命令

服务器返回一个TCP确认,如图4.14所示:

图4.14TCP确认

服务器返回SMTP响应,应答码250,表示操作成功,服务器就绪,如图4.15所示:

图4.15应答码250

主机给服务器发送RCPTTO命令,通告收件人地址,如图4.16所示:

图4.16RCPTTO命令

服务器应答250,如图4.16的序列号19所示;

主机发送给服务器DATA命令,表示将会把邮件内容传送给服务器,如图4.17所示:

图4.17DATA命令包

服务器对DATA命令返回一个应答,应答码354,表示准备接受数据,如图4.18所示:

图4.18DATA应答

主机传送邮件正文及确认信息,序列号24则为服务器发送的TCP确认,对收到的数据进行确认;

序列号25显示的是正文信息;

如图4.19所示:

图4.19正文信息及确认

服务器返回SMTP响应,应答码250,表示操作成功,如图4.20所示。

到此一封邮件发送成功。

图4.20应答码250

主机用QUIT命令来结束连线,序列号31表示服务器返回TCP确认,如图4.21所示:

图4.21QUIT命令连线结束

服务器返回SMTP响应,应答码221,表示服务关闭,如图4.22所示:

图4.22应答码221

TCP会话的4次断开,如图4.23所示:

图4.23tcp四次断开

4.2POP3协议分析数据包

主机从163服务器上读取邮件时,首先向163服务器发送请求,建立TCP连接,服务端口110,如图4.24所示:

图4.24TCP三次会话

服务器发送一个POP3响应,进入确认状态,可以看到一个状态码和以<

结束的响应信息,如图4.25所示:

图4.25POP3响应

开始发给服务器的第一个指令,用于取得此服务器的功能选项菜单,如图4.26所示:

图4.26CAPA命令

如图4.27所示,序列号8是进入确认状态后,主机必须向服务器证明它的身份,那么主机就发送一个USER命令,输入用户名;

序列号9的服务器返回一个状态码OK,表示服务器接收客户端计算机的USER命令;

序列号10是主机发送PASS命令,明文发送密码。

序列号11是服务器验证主机的用户名和密码正确返回的消息,状态码为OK,同时还可以看到邮箱里信件的信息:

一封邮件,大小3762B。

5总结

Internet上传送电子邮件是通过邮件服务器程序进行硬件管理并储存的。

与个人计算机不同,这些邮件服务器及其程序必须每天24小时不停地运行,否则就不能收发邮件了。

简单邮件传输协议SMTP(SimpleMailTransferProtocol)和邮局协议POP3(PostOfficeProtocol)是负责用客户机/服务器模式发送和检索电子邮件的协议。

用户计算机上运行的电子邮件客户机程序请求邮件服务器进行邮件传输,邮件服务器采用简单邮件传输协议标准。

很多邮件传输工具都遵守SMTP标准并用这个协议向邮件服务器发送邮件。

SMTP协议规定了邮件信息的具体格式和邮件的管理方式。

本课题根据电子邮件的传输过程,运用邮件传输工具Outlookexpress发送和接收邮件,通过抓包软件抓取协议数据包,详细分析了SMTP和POP3协议的工作原理。

SMTP使用服务端口25,是一种提供有效可靠的明文传送电子邮件协议。

POP3协议使用服务端口110,允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。

参考文献

[1]EricAHall.Internet核心协议权威指南.张金辉译.北京:

中国电力出版社,2002.

[2]RichardWStevens.TCP/IP详解。

卷一:

协议.范建华译.北京:

机械工业出版社,2000.

[3]ParkerDavid.TCP/IP技术大全.前导工作室译.北京:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2