当前位置:文档之家› 【协议分析】【简单邮件传输协议SMTP 分析】

【协议分析】【简单邮件传输协议SMTP 分析】

实验十五简单邮件传输协议SMTP分析

【实验目的】

1、理解SMTP协议的基本原理;

2、理解SMTP协议的工作过程;

3、了解SMTP的基本命令格式;

4、了解应用层协议与传输层协议的关系。

【实验学时】

2学时

【实验环境】

本实验要求实验室主机能够连接到Internet,具有事先申请好可用的电子邮件帐户,并

且能够支持SMTP和POP3协议。

实验室主机安装有Outlook Express软件,学生可以进行账号的配置,并利用其进行收

发邮件的的操作。

实验拓扑如图5- 73所示:

图5- 73 实验拓扑图

【实验内容】

1、学习邮件服务的工作原理;

2、理解SMTP协议;

3、学习SMTP协议的命令和使用方法;

4、学习协议编辑软件的使用方法。

171

【实验流程】

图5- 74 实验流程图

【实验原理】

SMTP协议是两个报文传输代理之间的通信协议。它规定了两个相互通信MTA之间如何交换信息。SMTP协议的最大特点是简单,它规定了发送程序和接收程序之间的命令和应

答格式。

SMTP提供可靠且有效电子邮件传输,是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。

SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP 重要特性之一是其能跨越网络传输邮件,即SMTP 邮件中继。通常,一个网络可以由互联网上

可通过TCP相互访问的主机、防火墙分隔的 TCP/IP 网络上可通过TCP相互访问的主机,及其它利用非TCP传输层协议的局域网或广域网中的主机组成。使用 SMTP,可实现相同

网络上主机之间的邮件传输,也可通过中继器或网关实现某主机与其它网络之间的邮件传

输。

SMTP使用的是TCP的端口25。

172

SMTP命令

SMTP 命令是发送于 SMTP 主机之间的 ASCII 信息,可能命令如下表所示:

表5-10 SMTP命令列表

命令描述

DATA 开始信息写作,DATA命令后面的数据将被看作邮件内容处理,以(回车换行符)标识数据的结尾

EXPN 需要扩展的邮件发送清单

HELO 发送方的主机名

HELP 返回指定命令中的信息

MAIL FROM 在主机上初始化一个邮件会话,指明发送者的地址NOOP 除服务器响应确认以外,没有引起任何反应

QUIT 终止邮件会话

RCPT TO 指明邮件接收者的地址

RSET 复位当前的邮件连接

SAML FROM 发送邮件到用户终端和邮箱

SEND FROM 发送邮件到用户终端

SOML FROM 发送邮件到用户终端或邮箱

TURN 接收端和发送端交换角色

VRFY 校验用户身份

AUTH(扩展命令)允许客户端使用基本验证、Windows集成验证(NTLM和Kerberos)与服务器进行身份认证,进行身份认证也是避免SMTP服务器被relay的重要手段

SMTP响应

SMTP响应是从服务器发送到客户端的三位十进制数字,后面可以跟着附加的文本信

息,第一位数字的意义如下:

z2yz:正面完成应答。若第一位数字是2(数字1现在已不使用),表示所请求的命令已经成功完成,新的命令可以开始;

z3yz:正面中间应答。若第一位数字是3,表示所请求的命令已被接受,但在完成请求的命令之前,收件人需要更多的一些信息。

z4yz:暂时负面完成应答。若第一位数字是4,表示所请求的命令已被拒绝,但差错条件是暂时的,这个命令可以重新发送。

173

z5yz:永久负面完成应答。若第一位数字是5,表示所请求的命令已被拒绝,且这个命令不能重新发送。

表5-11 SMTP应答码列表

应答码描述应答码描述

211 系统状态或系统帮助响应500 语法错误,不能识别的命令

214 帮助信息501 参数格式错误

220 服务就绪502 命令不可实现

221 服务关闭503 错误的命令序列

250 要求的邮件操作完成504 命令参数不可实现

251 用户非本地,将转发向

550 要求的邮件操作未完成,邮箱不可用

354 开始邮件输入,以”.”结束551 用户非本地,请尝试

421 服务未就绪552 过量的存储分配,要求的操作未执行

450 要求的邮件操作未完成,邮箱不可

553 邮箱名不可用,要求的操作未执行

451 放弃要求的操作:处理过程中出错554 操作失败

452 系统存储不足,要求的操作未执行

【实验步骤】

步骤一:利用Outlook发送电子邮件,捕获数据包并分析

1、打开邮件工具:Outlook Express,按照已经申请的邮箱信息进行配置,例如邮箱为

2008.test.star@https://www.doczj.com/doc/097361073.html, ,密码为:Test2008,配置完成后可看到的邮件帐户属性为:

图5- 75 在Outlook Express中设置邮箱帐户

174

2、在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的下拉列表中选

择“SMTP协议”:

图5- 76 设置SMTP协议过滤器

3、在Outlook中创建一封邮件,发送出去。

4、进行数据捕获,并分析数据包内容,可以看到SMTP的命令和参数,图5- 77中可

以看到MAIL FROM命令,并可看到邮箱地址 2008.test.star@https://www.doczj.com/doc/097361073.html, :

图5- 77 SMTP协议的MAIL FROM命令报文

而在图5- 78中,则可以看到这是一个携带邮件内容的DATA报文:

175

图5- 78 SMTP协议中的DATA报文

5、分析其中发送邮件的过程传输层采用什么协议?发送端的目的端口号是多少?代表

什么协议?

步骤二:利用“TCP工具”和SMTP命令编辑邮件并发送

本步骤的目的是学习SMTP协议的命令用法,以及一个邮件发送的过程。

1、首先要与某个邮件服务器建立一个TCP连接,例如:使用步骤一中的https://www.doczj.com/doc/097361073.html,的

邮件服务器,可从刚才捕获到的报文中看到其IP地址为:202.208.5.81,用户名:2008.test.star,密码为:Test2008,邮件服务器域名:https://www.doczj.com/doc/097361073.html,。

(1)、首先打开协议分析仪,准备好进行数据包的捕获,然后打开协议分析仪,点击工具栏中的“TCP”按钮;

(2)、在弹出的“TCP连接工具”中填写邮件服务器的IP地址(202.208.5.81)及邮件服务器SMTP协议的端口号(25),点击“启动”,从而建立本机与邮件服务器SMTP端口的TCP连接,如图5- 79所示:

图5- 79 利用TCP工具与邮件服务器建立连接

176

从协议分析器一端可以捕获到三次握手的过程:

图5- 80 与邮件服务器建立TCP连接的过程

(3、)若连接成功,在接收窗口会显示成功连接的信息:

220 https://www.doczj.com/doc/097361073.html, Anti-spam GT for Coremail System (163com[071018])

若不成功,查看IP地址和端口号是否有错,再次尝试进行连接,直到成功。

2、用SMTP命令编辑发送邮件,捕获数据包并进行分析:

(1)、在发送的编辑栏里面编辑发送SMTP协议的命令HELO,参数为发送方的主机

名,例如:HELO STAR:

图5- 81 在TCP工具中编辑发送SMTP命令报文

177

(2)、发送命令AUTH LOGIN,此命令的含义是要求进行身份认证;

(3)、邮件服务器返回“334 dXNlcm5hbWU6”,要求主机发送用户名,“dXNlcm5hbWU6”是“username:”的BASE64编码;

(4)、发送“MjAwOC50ZXN0LnN0YXI=”,这是“2008.test.star”的BASE64编码(可以使用BASE64转换工具将字符转换为BASE64编码);

(5)、邮件服务器返回“334 UGFzc3dvcmQ6”,要求主机发送密码,“UGFzc3dvcmQ6”

是“Password:”的BASE64编码;

(6)、发送“VGVzdDIwMDg=”,这是“Test2008”的BASE64编码;

(7)、邮件服务器返回“235 Authentication successful”,表示身份认证通过;

(8)、发送“MAIL FROM <2008.test.star@https://www.doczj.com/doc/097361073.html,>”,说明邮件接收方是2008.test.star@https://www.doczj.com/doc/097361073.html,,邮件服务器返回“250 Mail OK”;

(9)、发送“RCPT TO <2008.test.star@https://www.doczj.com/doc/097361073.html,>”,说明邮件发送方是2008.test.star@https://www.doczj.com/doc/097361073.html,(这是一封自己发送给自己的邮件),邮件服务器返回“250 Mail

OK”;

(10)、发送命令“DATA”,说明下面将开始发送的是邮件正文的内容;

(11)、服务器返回“354 End data with .”,说明服务器准备接收邮件正文,并要求正文内容以单独的一个“.”结束;

(12)、发送字符“my email.”

(13)、发送字符“.”;

(14)、服务器返回“250 Mail OK queued as smtp1,C9GowLDLOx2P_9FIJx30JQ==.36538S2 1221722068”,说明邮件正文发送成功;

(15)、发送命令“QUIT”结束这个邮件会话,服务器返回“221 Bye”(从协议分析仪上可以看到四次断开的过程)。

此时,使用Outlook Express可以收到这封邮件,不过内容为空,因为发送的内容“my email.”不能解析成包含主题、From、To、Subject、Date等格式要求的邮件正文。

下面是在协议分析仪的TCP工具“数据信息”区域显示的全部交互过程:

正在连接202.108.5.81:25

连接成功!

220 https://www.doczj.com/doc/097361073.html, Anti-spam GT for Coremail System (163com[071018])

-------------------------------------------------------------------------------

发送HELO STAR

发送成功!

250 OK

-------------------------------------------------------------------------------

发送AUTH LOGIN

发送成功!

334 dXNlcm5hbWU6

-------------------------------------------------------------------------------

178

发送MjAwOC50ZXN0LnN0YXI= 发送成功!

334 UGFzc3dvcmQ6

------------------------------------------------------------------------------- 发送VGVzdDIwMDg= 发送成功!

235 Authentication successful

------------------------------------------------------------------------------- 发送MAIL FROM <2008.test.star@https://www.doczj.com/doc/097361073.html,> 发送成功!

250 Mail OK

------------------------------------------------------------------------------- 发送RCPT TO <2008.test.star@https://www.doczj.com/doc/097361073.html,> 发送成功!

250 Mail OK

------------------------------------------------------------------------------- 发送DATA 发送成功!

354 End data with .

------------------------------------------------------------------------------- 发送my email. 发送成功!

------------------------------------------------------------------------------- 发送. 发送成功!

250 Mail OK queued as smtp1,C9GowLDLOx2P_9FIJx30JQ ==

.36538S2 1221722068

-------------------------------------------------------------------------------

发送QUIT 发送成功! 221 Bye 连接结束

步骤三:编辑一个SMTP 报文

1、在主机上打开协议数据发生器,在工具栏上选择“添加”,会弹出“网络包模版”对话框,选择“SMTP 协议模版”,建立一个SMTP 数据报文:

179

图5- 82 建立SMTP协议报文

2、填写其中以太网帧头、IP首部、TCP首部和SMTP报文的内容:

z填写以太网协议首部信息:

?目的物理地址:在地址本中选择实验室网关的IP地址(例如:192.168.1.1),确认后自动填入网关的MAC地址:00-D0-F8-B5-24-8F;

?源物理地址:在地址本中选择实验主机(例如:192.168.1.2),确认后自动填入实验主机的MAC地址:02-00-4C-4F-4F-50;

?类型或长度:该字段应为0800(即IP协议的类型值)。

z填写IP协议头信息:

?总长度字段:包括TCP段内容的总长度,20 IP+20 TCP+34 SMTP = 74;

?高层协议字段:即上层协议类型为6(TCP协议的类型为6);

?发送IP地址:在地址本中选择实验主机的IP地址,确认后自动填入主机的IP 地址192.168.1.2;

?目标IP地址:手工填写邮件服务器的IP地址:202.108.5.81;

?点击工具栏中的“校验和”按钮计算IP头校验和。

z填写TCP协议的各个字段信息:

? 16位源端口号:任意大于1024的数;

? 16位目的端口号:25;

? 32位序号:选择一个序号(例如:19425898);

? 32位确认序号:设置为0;

?首部长度:首部长度设为5,即长度为20字节;

?标志位:标志位设为2,即标志位SYN=1;

?窗口大小:任意,例如填入32768;

?紧急指针:0;

180

?校验和:点击工具栏中的“校验和”按钮计算TCP校验和(覆盖TCP首部(包含伪首部)和TCP数据两部分,计算方法同UDP协议一样)。

z5、填写SMTP协议报文的内容:

可填入SMTP的常用命令及参数,例如:MAIL FROM <2008.test.star@https://www.doczj.com/doc/097361073.html,>。

最终的编辑结果如图5- 83所示:

图5- 83 编辑SMTP报文的内容

3、点击工具栏上的“发送”按钮,将编辑好的SMTP数据报文发送,可设置循环发送。

4、在实验主机上运行网络协议分析仪,捕获数据,捕获结果如图5- 84所示,其中可

以清晰地看到,这个TCP报文的标志位是SYN,里面携带的是SMTP报文,具体的SMTP

命令及参数是MAIL FROM <2008.test.star@https://www.doczj.com/doc/097361073.html,>:

图5- 84 捕获编辑的SMTP报文

181

【思考问题】

1、在SMTP协议的传输报文中,是否有携带帐号、密码的报文?

2、通过实验说明你的电子邮件在网络上传输是安全的吗?为什么?如果不安全,你认

为实现邮件安全传输的最好的办法是什么?

182

电子邮件协议综述

常见的电子邮件协议有以下几种:SMTP(简单邮件传输协议)、POP3(邮局协议)、IMAP (Internet邮件访问协议)。这几种协议都是由TCP/IP协议族定义的。SMTP(Simple Mail Transfer Protocol):SMTP主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器。POP(Post Office Protocol):目前的版本为POP3,POP3是把邮件从电子邮箱中传输到本地计算机的协议。IMAP(Internet Message Access Protocol):目前的版本为IMAP4,是POP3的一种替代协议,提供了邮件检索和邮件处理的新功能,这样用户可以完全不必下载邮件正文就可以看到邮件的标电子邮件 题摘要,从邮件客户端软件就可以对服务器上的邮件和文件夹目录等进行操作。IMAP协议增强了电子邮件的灵活性,同时也减少了垃圾邮件对本地系统的直接危害,同时相对节省了用户察看电子邮件的时间。除此之外,IMAP协议可以记忆用户在脱机状态下对邮件的操作(例如移动邮件,删除邮件等)在下一次打开网络连接的时候会自动执行。 除了我们常见的通用协议SMTP、POP3、IMAP ,现在有一些邮件系统厂商自主研发了私有协议,比如去年Coremail就研发了了私有协议,这个私有协议达到了邮件加速的目的,邮件发送接收比使用普通协议快了一倍,不过既然是私有协议,目前只能使用在同一个系统中,比如网易邮箱和139手机邮箱都用了Coremail邮件系统,他们之间互相收发邮件比收发其它系统的邮件要快一半。 这种私有协议一般是实力雄厚、终端用户多的厂商才具有研发的意义。 什么是POP 大家一听这个POP,读起来有点像是中文中的泡泡,其实这是一个英文术语的缩写。POP 的全称是Post Office Protocol,即邮局协议,用于电子邮件的接收,它使用TCP的110端口。现在常用的是第三版,所以简称为POP3。POP3仍采用Client/Server工作模式,Client被称为客户端,一般我们日常使用电脑都是作为客户端,而Server(服务器)则是网管人员进行管理的。举个形象的例子,Server(服务器)是许多小信箱的集合,就像我们所居住楼房的信箱结构,而客户端就好比是一个人拿着钥匙去信箱开锁取信一样的道理。 POP在网络模型中的层次 大家都知道网络是分层的,而这个分层就好比是一个企业里的组织结构一样。在日常使用电脑过程中,人操作着电脑,人就好比是指挥电脑对因特网操作的首席执行官。当我们打开Foxmail这个邮件软件收取邮件时,Foxmail这个软件就会调用TCP/IP参考模型中的应用层协议—POP协议。 应用层协议建立在网络层协议之上,是专门为用户提供应用服务的,一般是可见的。如利用FTP(文件传输协议)传输一个文件请求一个和目标计算机的连接,在传输文件的过程中,用户和远程计算机交换的一部分是能看到的。而这时POP协议则会指挥下层的协议为它传送数据服务器,最后Foxmail通过一系列协议对话后成功将电子邮件保存到了Foxmail 的收件箱里。TCP/IP参考模型是Internet的基础。和OSI的7层协议比较,TCP/IP参考模型中没有会话层和表示层。通常说的TCP/IP是一组协议的总称,TCP/IP实际上是一个协议族(或协议包),包括100多个相互关联的协议,其中IP(Internet Protocol,网际协议)是网络层最主要的协议;TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是传输层中最主要的协议。一般认为IP、TCP、UDP是最根本的三种协议,是其它协议的基础。 相信读者了解TCP/IP框架之后,一定会对各层产生一定的兴趣,不过我们对于这个模型的理解也是一步步来的。在这里,我们首先只要知道相应的软件会调用应用层的相应协议,比如Foxmail会调用POP协议,而IE浏览器则会调用DNS协议先将网址解析成IP地址。在

使用telnet协议来收发邮件

第一部分邮件传输协议 SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)定义了邮件客户端软件与SMTP服务器之间,以及两台SMTP服务器间的通信规则。SMTP服务器之间的通信规则。 SMTP协议中一共定义了18条命令,发送一封电子邮件的过程通常只需要使用其中6条命令,表1中按照发送命令的先后顺序列出了这6条命令,并描述了其语法格式及功能说明,其中,代表空格,代表回车和换行。 表1 对于SMTP邮件发送程序发送的每一条命令,SMTP邮件程序接收程序都将回应一条响应信息。每条响应信息都以一个响应状态码开发如下所示: 250 ok 响应状态吗用于表示SMTP服务器对请求命令的处理结果和状态,它是一个三位的十进制数。响应状态码的最高位数字代表了不同的分类,当其为2时表示命令执行成功,为5时表示命令执行失败。为3时表示命令没有完成。 动手实践:借助telnet程序手工发送邮件 1)在sina()中申请两个电子邮件地址,,第一个邮箱的登录为:javamail,读者应注册自已的电子邮箱进行实验。 2)要给某个SMTP服务器发送邮件,首先要获知该SMTP服务器的主机名,其中新浪的SMTP服务器主机名为 https://www.doczj.com/doc/097361073.html, 25。 3)当SMTP服务器要对邮件客户端软件进行用户身份验证时,邮件客户端软件需要对用户名和密码进行BASE64编 码后再传递给SMTP服务器,因此要编写一个能对用户名和密码进行BASE64编码的工具程序。下面是用Java 语言编写的一个对用户名和密码分别进行BASE64编码的工具程序。 例:BASE64Util.java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import sun.misc.BASE64Encoder; class BASE64Util { public static void main(String[] args) throws IOException {

利用wireshark分析SMTP、POP3协议实验报告

. .. ... 利用wireshark分析SMTP、POP3协议实验报告

利用wireshark分析SMTP、POP3协议实验报告一、实验目的 利用wireshark抓包,分析SMTP协议和POP3协议容。 二、实验环境 连接Internet的计算机,系统为windows8.1; Foxmail,软件版本为7.2; Wireshark,软件版本为1.10.7。 三、实验过程 1.登陆及接收过程(POP3协议) 1)操作过程 打开wireshark开始俘获。然后打开Foxmail,输入用户名,密码,POP 服务器,SMTP服务器,如下图:

然后点击创建,登陆成功如下图: 然后点击收取,结果如下图: 打开wireshark,停止俘获,并保存(结果“capture_for_emailLogin.pcapng”另附)。 2)结果分析

因为POP3协议默认的传输协议是TCP协议,因此连接服务器要先进行三次握手,如下图: 连接成功,主机向服务器发送明文用户名和密码,如下图: 认证成功,开始接收处理,主机先向服务器发送SATA命令,得到数量: 主机向服务器发送LIST命令,得到每封的大小:

主机向服务器发送UIDL命令,得到这四封的唯一标示符: 最后主机向服务器发送QUIT命令,回话结束: 2.邮寄发送过程(SMTP协议) 1)操作过程 打开wireshark,开始俘获。然后打开Foxmail,点击写,写一封,点发送,如下图:

然后打开wireshark,停止俘获,并保存(结果 “capture_for_emailSend.pcapng”另附)。 2)结果分析 因为SMTP协议是基于TCP协议的,所以要先进行三次握手: 主机向服务器发送EHLO加上主机名(val-pc),服务器响应并回复250,表示服务器可用: 主机向服务器发送发送用户登录命令“AHTU LOGIN”,服务器回复334,表示接受: 因为SMTP要求用户名和密码必须经过64位编码后发送,不接受明文。所以客户端分别向服务器发送编码后的用户名和密码,服务器分别回复334和235表示接受和通过: 客户端先后向服务器发送“MAIL FROM”和“RCPT TO”命令,后面分别接上发件人和收件人的地址。服务器分别回复“250 MAIL OK”,表示接受成功: 接下来客户端向服务器发送命令“DATA”,表示将要向服务器发送正文,服务器回应“354 End data with .”表示同意接收:

POP3协议命令原始码及工作原理

POP3协议命令原始码及工作原理 一简介: 1. POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。脱机模型即不能在线操作,不像IMAP4(netscape支持IMAP4) 2. 当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。 3. POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。 服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本OK或-ERR指出相应的操作状态是成功还是失败 4. 在POP3协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出quit命令,则进入更新状态,更新之后最后重返认可状态。如下图 等待连接身份确认quit命令 ——|认可|—————|处理|——————|更新| |__________________________________|

重返认可状态 5. 认可状态的命令语句 一般情况下,大多数现有的POP3客户与服务器执行采用ASCII 明文发送用户名和口令,在认可状态等根据专家观察,这样的理论和现象都是值得各位站长深思的,所以希望大家多做研究学习,争取总结出更多更好的经验! 待客户连接的情况下,客户发出连接,并由命令user/pass对在网络上发送明文用户名和口令给服务器 进行身份确认。一旦确认成功,便转入处理状态。 为了避免发送明文口令的问题,有一种新的认证方法,命令为APOP,使用APOP,口令在传输之前被加密。 当第一次与服务器连接时,POP3服务器向客户机发送一个ASCII 码问候,这个问候由一串字符组成对每个客户机是唯一的,与当时的时间有关,然后,客户机把它的纯文本口令附加到从服务器接收到的字符串之后,然后计算出结果字符串的MD5单出函数消息摘要,客户机把用户名与MD5消息摘要作为APOP命令的参数一起发送出去。 目前,大多数windows上的邮件客户软件不支持APOP命令,qpopper支持。 6. POP3命令码如下: 命令参数状态描述 ------------------------------------------

Wireshark抓包分析POP3和SMTP协议

Wireshark抓包分析POP3和SMTP协议 一、实验目的 1.初步掌握Wireshark的使用方法,熟悉抓包流程; 2.通过对Wireshark抓包实例进行分析,加强对POP3协议和 SMTP协议的理解; 3.培养动手实践能力和自主学习自主探究的精神。 二、实验要求 利用Wireshark软件抓包,得到邮箱登录的信息和发送邮件的信息,并根据所抓包对POP3协议和SMTP协议进行分析。 三、实验环境 1.系统环境:Windows 8专业版 2.邮件接收:Foxmail 6正式版 四、Wireshark:实验过程 (一)邮箱登录及邮件接收过程(POP3协议) 1.POP3协议简介[1] POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮箱服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本机主机上,同时根据客户端的操作删除或保存在邮箱服务器上的邮件。而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。 POP3协议是TCP/IP协议族中的一员,由RFC 1939 定义。本协

议主要用于支持使用客户端远程管理在服务器上的电子邮件。 2.实验过程 (1)准备工作 申请一个126邮箱 安装并配置Foxmail,将接收和发送邮件的服务器分别 设置为POP3服务器和SMTP服务器 在安装好的Foxmail上添加申请到的126邮箱账户 添加后的邮箱信息 (2)打开Wireshark软件,选择正在联网的网卡,开始抓包。 (3)打开Foxmail,选择邮箱账号登录,点击左上角收取,邮箱开始连接服务器。

SMTP简单邮件传输协议

一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。 在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。 在传输文件过程中使用25号端口 编辑本段协议原理 SMTP-简单邮件传输协议(SimpleMailTransferProtocol),是定义邮件传输的协议,它是基于TCP服务的应用层协议,由RFC0821所定义。SMTP协议规定的命令是以明文方式进行的。为了说明SMTP的工作原理,我们以向163发送邮件为实例进行说明。 在linux环境下,使用"telnet smtp.163. com 25"连接smtp.163. com 的25号端口(SMTP的标准服务端口);在windows下使用telnet程序,远程主机指定为smtp.163. com,而端口号指定为25,然后连接smtp.163. com:交互过程如下: SMTP [lix@nslix]$telnet smtp.163. com 25 220 163 .com Anti-spam GT for Coremail System (163com[071018]) HELO smtp.163 .com 250 OK auth login 334 dXNlcm5hbWU6 USER base64加密后的用户名 334 UGFzc3dvcmQ6 PASS base64加密后的密码 235 Authentication successful MAILFROM:XXX@163 .COM 250 Mail OK RCPTTO:XXX@163 .COM

实验10 使用Wireshark分析SMTP和POP3协议

实验十使用Wireshark分析SMTP和POP3协议 一、实验目的 分析SMTP和POP3协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤 大多数电子邮件客户端允许用户撰写电子邮件并将其方到发件箱中,还能发送发件箱中的邮件,接收新邮件到收件箱。大多数用户都知道必须连接到因特网才能发送和接收邮件,但他们可能不知道网络通信的细节。 发送邮件的过程和接收邮件的过程截然不同,它们甚至使用不同的应用层协议。电子邮件客户端通常使用邮件传送协议(Simple Mail Transfer Protocol, SMTP)来发送邮件,并用邮局协议(Post Office Protocol, POP)接收邮件。客户端发送邮件时,通常连接一台独立的本地邮件服务器,并将所有外发的邮件发送到这个服务器而不管接收者的地址。本地邮件服务器将报文放在发送邮件队列中。此时,电子邮件客户端不再涉及邮件的传输,而由本地邮件服务器负责对每个接收者传送邮件。SMTP不仅用于电子邮件客户端和本地邮件服务器之间的数据传输,而且还用于本地邮件服务器和每一个接收者的邮件服务器之间的数据传输。 一旦电子邮件报文到达接收者的邮件服务器,就随同该用户的其他接收邮件报文一起放在邮件队列中,用户可以通过类似的POP这样的协议来获取所有的接收邮件。 1、俘获发送邮件时SMTP分组 (1)启动IE,在IE工具栏中选择“邮件”-> “阅读邮件”,出现Outlook界面,在Outlook中选择“工具”->“选项”->“邮件设置”-> “电子邮件帐户...”,出现“电子邮件帐户”窗口,选择“添加新电子邮件帐户”,单击“下一步”,选择“POP3(P)”,单击“下一步”,将会出现如下界面:

pop3-imap-exchange协议

Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Applicationlayer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。 HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以“http://”开头的原因。 POP3(Post Office Protocol 3) POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。 IMAP(Internet消息访问协议)是与POP3对应的另一种协议,为美国斯坦福大学在1986年开始研发的多重邮箱电子邮件系统。它能够从邮件服务器上获取有关E-mail的信息或直接收取邮件,具有高性能和可扩展性的优点。IMAP 为很多客户端电子邮件软件所采纳,如OutlookExpress、NetscapeMessenger 等,支持IMAP的服务器端的软件也越来越多,如CriticalPath、Eudora、iPlanet、Sendmail等。 POP3 和IMAP4 功能概述 这两个协议具有下列优点和局限性: ?POP3 POP3 用于支持脱机邮件处理。使用 POP3 时,如果未将客户端设置为在服务器上保留邮件,电子邮件将从服务器中删除并存储在本地POP3 客户端上。这会使数据管理和安全责任都转由用户负责。POP3 不提供高级协作功能,例如日历、联系人和任务。 ?IMAP4 IMAP4 可提供脱机和联机访问功能,但与POP3 一样,IMAP4 不提供高级协作功能,例如日历、联系人和任务。 POP3 和IMAP4 无法用于将邮件从客户端应用程序发送到电子邮件服务器。使用 POP3 和IMAP4 发送邮件的电子邮件应用程序依赖SMTP 协议来发送邮件。会在每个中心传输服务器上自动创建用于从使用POP3 或IMAP4 的客户端应用程序接收电子邮件提交的连接器。有关连接器的详细信息,请参阅了解接收连接器。

试验七 电子邮件协议

试验七电子邮件协议(SMTP, POP3和IMAP) 练习一:使用Outlook发送电子邮件 1. 主机B启动协议分析器进行数据捕获,并设置过滤条件(提取SMTP协议)。 2. 主机A打开邮件工具Outlook Express并设置一个邮件帐号,邮件接收服务器为POP3, 编辑并发送一封电子邮件给主机A。注:Outlook使用方法及具体配置见附录 3. 察看主机B捕获的数据,保存会话命令(方法:会话交互视图/单击右键/保存会话命令菜单,保存为Smtp.zdt)。 (1)SMTP使用的TCP端口是25。 (2)找出传输用户帐号及密码的数据包,能不能看到用户密码?答:能。 (3)结合Smtp.zdt的SMTP传输过程,填写下表。 表15-5 实验结果 ●邮件的内容首部包括一些关键信息,如From、Subject、To等,请分析邮件首部格式。 ●分析在邮件的首部字段中有关MIME的信息。 练习二:使用Outlook接收电子邮件 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 使用POP3协议接收 (1)主机B启动协议分析器进行数据捕获,并设置过滤条件(提取POP3协议)。

(2)主机A接收练习一中发送的邮件。 (3)察看主机B捕获的数据,保存会话命令(方法:会话交互视图/单击右键/保存会话命令菜单,保存为POP3.zdt)。 ● POP3使用的TCP端口是110 。 ●找出传输用户帐号及密码的数据包,能不能看到用户密码? 答:能。 ●结合POP3.zdt的内容,分析POP3协议的工作过程并画出邮件接收过程简图,比较它与SMTP协议的不同点。 答:POP3是POP(电子邮局传输协议)的第三个版本,是规定了怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是Internet电子邮件的第一个离线协议标准。简单点说,POP3就是一个简单而实用的邮件信息传输协议。 SMTP(简单邮件传输协议)是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP服务器就是遵循SMTP协议的发送邮件服务器。 ●找到接收邮件内容的报文(命令RETR的响应报文),察看是否与发送的内容一致? 答:一致。 使用IMAP协议接收 (1)主机B重新进行数据捕获,并设置过滤条件(提取IMAP协议)。 (2)主机A使用Outlook Express设置一个邮件账号,邮件接收服务器为IMAP。发送一封邮件并对其接收。 (3)察看主机B捕获的数据,保存会话命令(会话交互视图/单击右键/保存会话命令菜 2.单,保存为IMAP.zdt)。 ● IMAP使用的TCP端口是143 。 ●找出传输用户帐号及密码的数据包,能不能看到用户密码? 答:能。 ●结合IMAP.zdt的内容,分析IMAP协议的工作过程并画出邮件接收过程简图,比较它与POP3协议的异同点。 答:POP3提供了快捷的邮件下载服务,用户可以利用POP3把邮箱里的信下载到PCh上进行离线阅读。一旦邮件进入PC的本地硬盘,就可以选择把邮件从服务器上删除,然后脱离Internet的连接并选择在任何时候阅读已经下载的邮件。 IMAP同样提供了方便的邮件下载服务,让用户服务能进行离线阅读,但IMAP能完成的却远远不只这些。首先,IMAP提供的摘要浏览功能可以让你阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。也就是说,你不必等所有的邮件都下载完毕后才知道空间邮件里都有些什么。如果你根据摘要信息就可以决定某些邮件对你毫无用处,你就可以直接在服务器上把这些邮件删除掉,而不必浪费你宝贵的上网时间。 练习三:使用TCP工具和SMTP命令实现邮件发送 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、

计算机网络原理 简单邮件传送协议(SMTP)

计算机网络原理简单邮件传送协议(SMTP) 简单邮件传送协议(SMTP)是一种电子邮件协议,它既具有客户机(发送者)功能,又具有服务器(接收者)功能。SMTP是Internet上的基础传输机制,大多数系统使用它在计算机服务器之间发送邮件。SMTP允许将电子邮件从一个计算机邮件服务器发送到另一个计算机邮件服务器。SMTP服务器接受本地用户的邮件,以将它传输到网络外部的服务器上。 大多数系统通过本地邮件系统服务器在本地按路径发送电子邮件。SMTP发送程序从输出邮件队列中得到报文,通过多个TCP连接将它们传输到目标主面的25号端口上,将这些报文传输到正确的目的计算机。在发送过程中,SMTP接收程序必须能名证实本地邮件目的地址,并处理各种差错,包括传输差错以及没有足够的磁盘空间等。 SMTP发送程序对报文所负的责任直到SMTP接收程序指示传送完成为止。SMTP协议的作用范围仅限于SMTP发送程序和SMTP接收程序之间的对话过程。SMTP主要功能是传送报文。 SMTP规定了14条命令和21种应答信息,每条命令由一行文本组,并以4个字母组成,而每一种应答信息由一个3位数据代码开始,后面附加很简单的文字说明。下面我们来了解SMTP通信最主要的命令和响应信息,一般分三个阶段: 1.连接建立 发送方将需要发送的邮件发送到邮件缓存。SMTP发送程序将每隔一定时间对邮件缓存进行扫描一次。如有邮件未发送,将使用SMTP程序端口号(25号)与目的计算机的SMTP 服务器建立连接。 当连接建立后,将发送“220 Service ready(服务就绪)”,并向SMTP服务器发送HELO 命令来标识自己。 接收方SMTP程序,接收到所发来的标识后,则返还应答“250 OK(一切正常)”来接受发送程序的身份标识。 如果接收方的邮件服务不可用,则返还应答“421 Service not available(服务不可用)”。2.邮件传送 当连接建立后,SMTP发送程序将向SMTP接收程序发送报文信息。报文传送有3个逻辑阶段: ●用一个MAIL命令标识出报文发起方。例如:MAIL FROM: 。 ●用一个或者多个RCPT命令标识该报文的接收方。例如:RCPT TO:<收信人地址>。 ●用一个DATA命令传送报文文本。 发送MAIL命令后,若SMTP服务器已经准备好接收邮件时,则应答“250 OK”。否则,返回代码,并指出原因。例如:451(处理时出错),452(存储空间不够),500(命令无法识别)等。 RCPT命令标识邮件数据的接收方,通过多次使用这个命令就能够指定多个接收者。并且每RCPT命令都会返还一个单独的应答。例如:“550 No such user here(无此用户)”,即不存在此邮箱。RCPT命令的作用是:先查清接SMTP接收服务器是否准备好接收邮件,然后再将邮件发送。 3.释放连接 邮件发送完毕后,发送方SMTP服务器程序将发送QUIT命令。接收方SMTP服务器程序返还应答“211(服务关闭)”信息,表示发送发SMTP服务器程序同意释放TCP连接。 上述的SMTP服务器交互的过程都被电子邮件系统的用户代理屏蔽了,所以用户在使用

利用wireshark分析SMTP、POP3协议实验报告

利用wireshark分析SMTP、POP3协议实验报告

利用wireshark分析SMTP、POP3协议实验报告 一、实验目的 利用wireshark抓包,分析SMTP协议和POP3协议内容。 二、实验环境 连接Internet的计算机,系统为windows8.1; Foxmail,软件版本为7.2; Wireshark,软件版本为1.10.7。 三、实验过程 1.邮箱登陆及接收过程(POP3协议) 1)操作过程 打开wireshark开始俘获。然后打开Foxmail邮箱,输入用户名,密码,POP 服务器,SMTP服务器,如下图: 然后点击创建,登陆成功如下图:

然后点击收取,结果如下图: 打开wireshark,停止俘获,并保存(结果“capture_for_emailLogin.pcapng”另附)。 2)结果分析 因为POP3协议默认的传输协议是TCP协议,因此连接服务器要先进行三次握手,如下图:

连接成功,主机向服务器发送明文用户名和密码,如下图: 认证成功,开始接收处理,主机先向服务器发送SATA命令,得到邮件数量: 主机向服务器发送LIST命令,得到每封邮件的大小:

主机向服务器发送UIDL命令,得到这四封邮件的唯一标示符: 最后主机向服务器发送QUIT命令,回话结束: 2.邮寄发送过程(SMTP协议) 1)操作过程 打开wireshark,开始俘获。然后打开Foxmail,点击写邮件,写一封邮件,点发送,如下图: 然后打开wireshark,停止俘获,并保存(结果“capture_for_emailSend.pcapng”另附)。 2)结果分析

简单邮件传输协议

简单邮件传输协议 院系:信息工程学院 专业:通信工程 简单邮件传输协议 SMTP 分析 实验目的 1.了解什么是SMTP协议以及它规定的命令和响应 2.掌握SMTP的通信和收发邮件的过程 3.学会使用Wireshark软件对SMTP分组俘虏更详细了解 实验环境 本实验要求实验室主机能够连接到Internet,具有事先申请好可用的电子邮件帐户,并且能够支持SMTP 和POP3 协议。 实验室主机安装有Outlook Express 软件,学生可以进行账号的配置,并利用其进行收发邮件的的操作。 实验拓扑如图所示: 实验拓扑图 实验原理 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送电子邮件的规则,由它来控制电子邮件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转电子邮件时找到下一个目的地。通过SMTP协议所指定的服务器,我们可以把E-mail寄到收信人的服务器上了。SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。 SMTP 协议是两个报文传输代理之间的通信协议。它规定了两个相互通信MTA 之间如何交换信息。SMTP 协议的最大特点是简单,它规定了发送程序和接收程序之间的命令和应答格式。 SMTP 提供可靠且有效电子邮件传输,是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。 SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP 重要特性之一是其能跨越网络传输邮件,即SMTP 邮件中继。通常,一个网络可以由互联网上可通过TCP 相互访问的主机、防火墙分隔的 TCP/IP 网络上可通过TCP 相互访问的主机,及其它利用非TCP 传输层协议的局域网或广域网中的主机组成。使用 SMTP,可实现相同网络上主机之间的邮件传输,也可通过中继器或网关实现某主机与其它网络之间的邮件传输。 SMTP 使用的是TCP 的端口25。 SMTP 命令 SMTP 命令是发送于 SMTP 主机之间的 ASCII 信息,可能命令如下表所示:

MIME协议及邮件格式分析

电子邮件也许是一个Internet上的流行最广泛的应用。也是我们现在的大多数网络办公流程的基础。各种邮件服务器很多,但都大都遵循以1982年出版的RFC822--《ARPA网络文本信息格式标准(STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES)》为基础的一系列邮件格式的规定。 RFC(The Requests for Comments)是用来规定互联网工作标准的文档。我们使用的时候并没有注意到这些协议在我们的邮件通信过程中默默的发挥着的作用,这丝毫也不能减低这些作用的重要性。邮件内部还有很多不为人知的秘密。 在RFC822中规定一封信包括一个必须的多个头部域(header fields)和一个可选的体部(body)组成。从一封信头开始至第一个空行都是头部。头部定义了一个邮件的各项基本要素,路由信息等内容。 在Outlook Express中选定一封信看它的属性。在详细资料选项卡中显示的就是这封邮件的头部内容。也可以选定一封信,另存为一个.eml文件。由于文件是一个纯文本文件,用一般的编辑器打开就可以看到邮件的内容。 头部有各个头部域组成,每一个头部域都包括域名(field-name)和域体(field-body),它们之间以":"分隔。每一个头部域都可以看作由ASCII码字符组成的独立的文本。常见的头部域包括:"Return-Path", "Received", "Date", "From", "Subject", "Sender","To", "cc","MIME-Version"等。各头部域之间没有规定顺序。 就像各个域的名字一样。他们表示的具体意义也不同。 Return-Path域表示退信的地址。 Received域表示路由信息。 Internet上的信件可能是由多个服务器依靠协议传递到达最终的目的邮箱的。每一个服务器都会把自己的一段Received域信息添加近信件。所以可能有多段Received域,依传递次序排列。这个域的内容很有意思,我们可以根据每一段的内容来跟踪一封信在internet上的传递过程。网管人员也可以根据这些信息做出很有价值的判断。 例如一段代码中 Received: from unknown (unknown [202.108.44.208]) by https://www.doczj.com/doc/097361073.html, (Postfix) with SMTP id 74E0E8 for; Fri, 28 Feb 2003 18:10:25 +0800 (CST)中,from 表示发送主机,by表示接受主机,via物理路径(本例没有),with表示使用的协议,id表示接受消息号,for表示目的邮件地址,分号后面表示时间。 Date域表示建立信件的时间。 From域表示邮件作者。 Subject域就是邮件的主题。 Sender域表示邮件的实际发送者。 To,cc域都表示接受的邮件地址。 MIME-Version域表示MIME的版本(以后扩充的域) 还有一个域—Content-Type。标识了一个重要的概念:邮件内容的格式。这个域的内容根据互联网的发展产生,使邮件可以用来传输非文本内容,在RFC822中并没有定义,而是在后续的RFC2045,RFC2046等文档中有定义。 还有一些不太常见的头部域,如"References","Message-ID"域。以及一些由不同厂家定义的自己的域(域名以"X-"开头)。 知道了这些知识,就可以看懂邮件头部。了解到那些邮件的秘密。 比如这是一封邮件的头部。 Return-Path: "sea" Received: from unknown (unknown [202.108.44.208]) by https://www.doczj.com/doc/097361073.html, (Postfix) with SMTP id 74E0E8 for ; Fri, 28 Feb 2003 18:10:25 +0800 (CST) Received: from https://www.doczj.com/doc/097361073.html, (unknown [211.150.100.6]) by 192.168.1.208 (Coremail:https://www.doczj.com/doc/097361073.html,) with SMTP id cAsAAJY1Xz7kAmQG.1 for ; Fri, 28 Feb 2003 18:10:30 +0800 (CST) Received: from sea (unknown [192.168.18.160]) by https://www.doczj.com/doc/097361073.html, (Postfix) with ESMTP id E55D02675F

基于POP3与SMTP协议的邮件收发程序的开发

一、设计思想 电子邮件指用电子手段传送信件、单据、资料等信息的通信方法。电子邮件综合了电话通信和邮政信件的特点,它传送信息的速度和电话一样快,又能象信件一样使收信者在接收端收到文字记录。电子邮件系统又称基于计算机的邮件报文系统。它承担从邮件进入系统到邮件到达目的地为止的全部处理过程。电子邮件不仅可利用电话网络, 而且可利用任何通信网传送。在利用电话网络时, 还可利用其非高峰期间传送信息,这对于商业邮件具有特殊价值。由中央计算机和小型计算机控制的面向有限用户的电子系统可以看作是一种计算机会议系统。 电子邮件的工作过程遵循客户- 服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服 务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。 一个邮件系统的传输包含用户代理User Agent 传输代理TransferAgent 及接受代理DeliveryAgent 三大部分。 用户代理是一个用户发信和收信的程序, 负责将电子邮件按照一定的标准包装,然后送至邮件服务器, 或由邮件服务器收回。传输代理负责信件的交换和传输。将信件传送至适当的邮件主机, 再由接受代理将信件分发至不同的邮件信箱。传输代理必须要能够接受用户邮件程序送来的信件,解读收信人的地址,根据SMTP协议将它正确无误地传递到目的地。现在一般的传输代理已采用Sendmail 程序完成工作。电子邮件到达邮件主机后, 在经接收代理POP协议被用户读取至自己的主机。 电子邮件在发送与接收过程中都要遵循SMTP POP3等协议,这些协议确保了电子邮件 在各种不同系统之间的传输。其中,SMTP负责电子邮件的发送,而POP3则用于接收In ternet 上的电子邮件。 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/ IP协议族, 它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器, 我们就可以把E—mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP!务器则是遵循SMTP 协议的发送邮件服务器,用来发送或中转你发出的电子邮件。 POP3(Post Office Protocol 3)即邮局协议,目前已发展到第三版,称POP3它规 定怎样将个人计算机连接到Internet 的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议 的接收邮件服务器,用来接收电子邮件的。总的来说POP3协议是让用户把服务器上的信收 到本地来所需要的一种协议。 本程序为一个基于SMTP和POP3协议的小型EMAIL收发程序,简单的实现了邮件的收发功能。

SMTP与POP协议简析

SMTP、POP协议简析

作者:李鹏博时间:2016/06

1.SMTP协议与POP协议说明 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 POP(Post Office Protocol)即邮局协议,用于电子邮件的接收。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。本文只介绍POP3。 2.SMTP协议简析 通过抓包,可以看到清晰的服务器与客户端的交流过程。如下图。

如上图,将整个流程分为三部分:握手阶段、认证阶段、发送数据阶段。其中TCP三次握手在上图中未体现,握手成功后,进入认证阶段。 SMTP命令字说明 HELO客户端为标识自己的身份而发送的命令(通常带域名) EHLO使服务器可以表明自己支持扩展简单邮件传输协议(ESMTP) 命令。 MAIL FROM标识邮件的发件人;以MAIL FROM: 的形式使用。 RCPT TO标识邮件的收件人;以RCPT TO: 的形式使用。 DATA客户端发送的、用于启动邮件内容传输的命令。 RSET使整个邮件的处理无效,并重置缓冲区。 QUIT终止会话。 对于服务器的每个回复,都有一个返回码,这个返回码标志着上次的请求操作完成状态。如果第一个数字是2表示操作成功;3表示操作正在进行;5表示操作失败。 握手阶段 认证阶段 握手成功后,邮件服务器(上面示例是163的邮件服务器)会发送欢迎连接信息。然后是客户端HELO(或EHLO),向服务器标识用户身份;接下来进行认证操作。认证成功后,客户端告诉服务器这封邮件从哪个邮箱来,到哪个邮箱去,mail from只有一个,但是recpt to 后面可以跟多个收件人地址。成功后,客户端请求发送邮件数据。 数据发送阶段 服务器回复DATA命令后,会有一个结束符说明。如上图,就是以.结束邮件DATA。其中即为“\r\n”;

电邮协议分析

计算机网络原理设计说明书 电邮协议分析 学生姓名 学号 班级 成绩 指导教师 数学与计算机科学学院 201 年月日

课程设计任务书 201 — 201 学年第二学期 课程设计名称:计算机网络原理课程设计 课程设计题目:电邮协议分析 完成期限:自201 年月日至201 年月日共 2 周 设计内容: 1任务说明 (1)了解并掌握基本的电子邮件协议类型及其特点。 (2)构建电子邮件传送模型,模拟邮件传输过程搭建拓扑图,通过抓取的数据包,分析电子邮件传输协议的工作原理。 (3)用协议分析软件抓取数据包,记录数据并分析。 (4)完成课程设计并提交设计报告。 2 要求 (1)了解基本的电子邮件协议类型及其特点。 (2)构建电子邮件协议传输模型并通过协议分析软件抓取数据包并分析。 (3)独立完成课程设计并撰写设计报告。 指导教师:教研室负责人: 课程设计评阅

摘要 本文介绍了电子邮件协议中的两个主要协议:简单邮件传送协议SMTP和邮局协议POP3,通过foxmail邮件工具收发电子邮件,用抓包软件抓取数据包,模拟用户收发邮件的过程,分析SMTP、POP3协议及其工作过程。 关键词:电子邮件;SMTP;POP3

目录 1课题描述 (1) 2要点解析 (2) 3详细设计 (3) 3.1 SMTP协议 (3) 3.2 POP3协议 (3) 3.3构建协议模型 (4) 4协议分析 (6) 5总结 (10) 参考文献 (11)

1 课题描述 电子邮件服务作为Internet上应用最多和最广的服务项目得到了非常广泛的应用,在网络应用中也起到非常重要的作用。如同其他的网络服务,电子邮件系统也有其使用的传输协议,包括SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、POP(Post Office Protocol,邮局协议)和IMAP(Internet Message Access Protocal,消息访问协议)等,这些协议应用于电子邮件的发送和接收。随着网络安全问题的日益严峻,为了安全有效地传输电子邮件,研究电子邮件协议的工作过程显得非常重要。

相关主题
文本预览
相关文档 最新文档