SMTP协议分析

SMTP协议是简单的文件传输协议。在计算机系统中,邮件的发送与现实生活中的寄信过程相似。其总体的结构如下图所示:
[img]http://dl.iteye.com/upload/attachment/354403/2cf36f37-490d-3e8e-8b65-7c9af298e94c.png[/img]
与其他的基于TCP协议的应用层协议一样,SMTP协议也是先经过三次握手建立连接。SMTP协议作为常用的协议一般都有指定的服务器服务端口,而SMTP所使用的协议端口为25(在默认情况下,现在经常使用的常用协议的服务器端口都可以更改的)。三次握手的情况如下图所示:
[img]http://dl.iteye.com/upload/attachment/354405/1a26207a-a9ff-3f75-906a-7e1309af4773.png[/img]
首先由nslookup根据发件地址的域名,通过DNS域名解析解析出该域名对应的IP地址,并进行连接。为了严谨的说明问题,我自己解析了下我的接受域名,在我的linux服务器上。首先解析出服务器的名字:
[img]http://dl.iteye.com/upload/attachment/354417/8e399b43-3b5e-37c3-96d2-af9b6240ffd4.png[/img]
服务器名字前的优先级值,显示了DNS解析时间的选项的排列次序,优先级值越小,其排的靠前。然后有服务器地址解析出其对应的IP地址。如下图所示:
[img]http://dl.iteye.com/upload/attachment/354431/bf23f4ac-6573-3b9c-bb38-c51d93a7a9a4.png[/img]
若握手成功的话,服务器端的会返回220,表示连接已经建立了!!!!
下面的就是开始会话传输邮件的相关内容的时候了,收看下总体包发送的顺序截图(这个图有点大,直接了一部分,全部的情况下不能显示完全,汗,好在能上传~):
[img]http://dl.iteye.com/upload/attachment/354454/1caa97dc-f682-3140-994c-359c0d0b69ab.png[/img]
SMTP在不加密传输的情况下都是明文传输的!!!只有验证过程中采用了base64编码,对用户名和密码起到了简单的保护与加密,防止了垃圾邮件的传播。为了更明显SMTP发邮件时命令的传输过程,我在linux服务器上用自己配置的邮件服务器演示下,就更明显、直白的现实其命令的传输过程,这些命令都是在数据包的数据部分显示的。
[img]http://dl.iteye.com/upload/attachment/354462/fc5c0eaa-a398-3426-aa59-2fd1810cc53e.png[/img]
好了,就先写到这里吧!!!有空再更新下....
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值