当前位置:文档之家› 简单邮件传输协议

简单邮件传输协议

简单邮件传输协议

院系:信息工程学院

专业:通信工程

简单邮件传输协议 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 信息,可能命令如下表所示:

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

2yz:正面完成应答。若第一位数字是2(数字1 现在已不使用),表示所请求的命

令已经成功完成,新的命令可以开始;

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

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

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

实验步骤

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

邮箱为,密码为:,配置完成后可看到的邮件帐户属性为:

在Outlook Express 中设置邮箱帐户

2、在主机上打开Wireshark,点击工具栏上的“过滤器”,设置过滤条件为“tep

port 25 and host

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

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

SMTP工作过程分析

1.连接建立

本地邮件服务器作为SMTP客户,每隔一定时间对邮件缓存扫描一次,若有邮件发送,建立与远地邮件服务器连接的过程如下:

1)使用默认端口25与接收方电子邮件服务器(SMTP服务器)建立TCP连接。

2)SMTP服务器回答“220 Service ready”,表示服务器就绪,连接建立。

3)SMTP客户发送HELO命令给SMTP服务器,附上发送之际名字。

4)SMTP服务器回答“250 OK”,表示已经准备好接收,否则回答“421 Service not available”,表示服务不可用。

发送方邮件服务器与接收方邮件服务器之间是直接通过运输层协议TCP连接的,中间不经过其他电子邮件服务器,尽管这两个邮件服务器的连接途径上可能经过若干个路由器。可以看出,一个电子邮件服务器在作为发送方时,用作SMTP客户,若作为接收方时,用作SMTP服务器。SMTP客户和SMTP服务器是在后台工作的。

相关主题