关键词不能为空

当前您在: 主页 > 英语 >

ESMTP身份验证的机制

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-11 23:32
tags:

-

2021年2月11日发(作者:寄存器地址)


ESMTP


身份验证的机制有很多种,最常见的是


LOGIN


机制,类似于


POP3


的 身


份验证方式,即分两步输入账号和密码。在所有的验证机制中,信息全部采用


Base64


编码。




例如,用



邮件服务器发送邮件,从开始 连接到身份验证的过程如



(


红色和蓝 色分别代表客户端和服务器


)





(


连接到


:25)


220sp1ESMTPv2.1


EHLOABCDEFG



250-PIPELINING


250-SIZE20480000


250-ETRN


250-AUTHLOGINPLAINDIGEST-MD5CRAM-MD5(


支持的身份验证机制种



:LOGIN,P LAIN



)


2508BITMIME


AUTHLOGIN


334VXNlcm5hbWU6(Base64


解码后

:Username:)


Ymh3YW5n(Base64


编码前


:bhwang)


334UGFzc3dvcmQ6 (Base64


解码后


:Password:)


bXlwYXNzd29yZCFteXBhc3N3b3JkISE=(Base64


编码前


:********)


235Authenticationsuccessful



另外一种较常见的机制是


PLAIN


。 与


LOGIN


机制的不同之处在于一次性输入账号


和密码,格式为



账号

< br>


密码



,其中



为字节


0


。用


PLAIN


机制


代替上面的身份验 证过程:




AUTHPLAIN


334


AGJod2FuZwBteXBhc3N3b3Jk IW15cGFzc3dvcmQhIQ==(Base64


编码



:bhwang********)


235Authenticationsuccessful



有的


ESMTP


服务器,例如采用


CoreMail


系统的


,,,

< p>
等,不回复


334



码行 ,客户端在输入


AUTHPLAIN


后,直接输入符合格式要求 的账号和密码即可。




LOGIN< /p>



PLAIN


机制没有对账号和密码进行 加密,相当于明文传输,


Base64



码只是一层纸而已。


DIGEST-MD5,CRAM-MD5,GSSAPI,KE RBEROS_V4


等身份


验证机制能够加密传输内容。




SMTP(Simple Mail T ransferProtocol)


即简单邮件传输协议,它是一组用于由


源地址到目的地址传送邮件的规则,或


者说是由它来控制信件传输的一种中转


方式。


SMTP


协议属于


TCP


/


IP


协议族,


它帮助每台计算机在发送或中转信件时


找到下一个目的地。通过


SMTP


协议所


指定的服务器,我们就可以 把


Email



到收信人的服务器上了 ,整个过程只要


几分钟。


SMTP


服务 器则是遵循


SMTP


协议的发送邮件服务器,用来发送或中



电子邮件






SMTP


的开发最初是为了在封闭的


网络中传送相对来说不太重要的简短邮


件,而不是为了在互联网中传送重要而


敏感的信息


,


因此最初通过


SMTP


传输邮

< br>件时,安全性不高。



SMTP


协议常用命令集


< p>


是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一< /p>


个服务器传输到另一个服务器




是个请求


/


响应


协议< /p>


,命令和响应都是基于


ASCII


文本, 并以


CR



LF



结束。响应包括一个表示返回状态的三位数字代码





TCP


协议


25


号端口监听连接请求



4.


连接和发送过程:



a.


建立


TCP


连接



b.


客户端发送


H ELO


命令以标识发件人自己的身份,然后客户端发送


MAIL


命令服


务器端正希望以


OK

< p>
作为响应,表明准备接收



c.

< br>客户端发送


RCPT


命令,以标识该电子邮件的计划接收 人,可以有多个


RCPT


行服务器端则表示是否愿意为收件人接 受邮件



d.


协商结束,发送邮件,用 命令


DATA


发送



e.




.< /p>


表示结束输入内容一起发送出去



f.< /p>


结束此次发送,用


QUIT


命令退出。< /p>



5.


另外两个命令:



VRFY---


用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细 信息。



EXPN---


用于扩充邮件列表。



6.


邮件路由过程:





SMTP


服务器基于


?


域名服务


DNS


中计划收件人的域名来路由电子邮件。


SMTP


服务器基于


DNS


中的


MX

< p>
记录来路由电子邮件,


MX


记录注册了域名和相< /p>


关的


SMTP


中继主机,属于该域的电子 邮件都应向该主机发送。




SMTP


服务器



收到一封信要发到


mail@


:


il


请求< /p>


DNS


给出主机




CNAME


记录,如有,假若


CNA ME




,则再次请求

< br>



CNAME


记录,直到没


有为止



b.


假定 被


CNAME



,

然后


sendmail


请求


@


域的


DNS


给出


< /p>



MX


记录



shmail






MX





5

















0






c.



Sendmail


最后请求


DNS


给出




A


记录,即


IP< /p>


地址,若返回值



1.2.3.4


d.



Sendmail



1.2.3.4


连接,传送这封给


mail@


的信到


1.2.3.4

这台服


务器的


SMTP


后台程序< /p>




基本命令集:



命令









描述



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


HELO








向服务 器标识用户身份发送者能欺骗,说谎,但一般情况下服


务器都能检测到。



MAIL








初始化邮件传输













mail



form :


RCPT








标识单个的邮件接收人;常在


MAI L


命令后面




可有多个


rcpt



to:


DATA








在单个或多个


RCPT


命令后,表示所有的邮件接收人已标识,


并初始化数据传输结束。

< p>


VRFY








用于验证指定的用户


/


邮箱是否存在;由于 安全方面的原因,服


务器常禁止此命令



EXPN








验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用



HELP








查询服务器支持什么命令



NOOP








无操作,服务器应响应


OK


QUIT








结束会话



RSET








重置会话,当前传输被取消



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


8.



MAIL



form


命令中指定的地址是称作



envelope



form


地址,不需要和发送


者自己的地址是一致的。



RCPT



TO



与之等同,指明的接收者地址称 为


envelope



to

< p>
地址,而与实际的


to


:行是什么无关。



9.


为什么没有


RC PT



CC



RCPT



BCC:?





所有的接收者协商都通过


RCPT


< /p>


TO


命令来实现,如果是


BCC


,则协商发


送后在对方接收时被删掉信封接收者



10.


邮件被分为信封部分,信头部分和信体部分






envelope



form ,



envelope



to




message



form:,



message



to:



全不相干。






evnelope


是由服务器主机间


SMTP


后台提供的,而

< p>
message



form /to



由用户提供的。有无冒号也是区别。



11.



怎样由信封部分检查是否一封信是否是伪造的?



a.



received


行的关联性。






现在的


SMTP


邮件传输系统,在信封部分除了两端的内部主机处理的 之个,


考虑两个公司防火墙之间的部分,若两台防火墙机器分别为A和B,但接收者检查


信封


received


:行时发现经过 了


C.


则是伪造的。



b.



received


:行中的主机和


IP


地址对是否对应如:

< p>





Receibed:



form





(



[104.128.23.115]



by



mail



.....


c.



被人手动添加在最后面的


received


行:







Received:



form





([104.128.23.115])



by



mail



.



(8.8.5)






Received:



form





by





(8.7.3)






Received:



form





by





(8.6.4)



POP3


命令列表


:


一般


telnet pop3Server110


后就可以用这些命令了,大小写不敏感


,


不包括口令 本


身,注意不要让口令回显,等验证通过后再允许回显好了。



user username


认可



pass password


认可



执行成功则状态转换



apop name,digest


认可



一种 安全传输口令的办法,执行成功导致状态转换,请参



RFC 1321


stat


处理



请求


server


回送邮箱统计资料,如邮件数 、邮件总字节数



uidl n


处理


server


返回用于该指定邮 件的唯一标识,如果没有指定,返回所有的



list n


处理


server


返回指定邮件的大小等



retr n


处理


server


返回邮件的全部文本



dele n


处理


server< /p>


标记删除,


quit


命令执行时才真正删 除



rset


处理



撤消所有的

dele


命令



top n,m


处理



返回


n


号邮件的前


m


行内容,


m


必须是自然数



noop


处理


server


返回一个肯定的响应



quit client


希望结束会话。如果

< br>server


处于


'


处理


'


状态,则现在进入


'


更新


'


状态,删


除那些标记成删除的 邮件。如果


server


处于


'


认可


'


状态,则结束会话时

< br>server


不进



'


更新


'


状态



关于


apop


命令


< /p>


如果


client


使用

< br>user


命令,口令将是明文。使用


apop

< p>
命令时,


client


第一次与

< br>server


连接时,


server


client


发送一个


asci i


码问候,该问候由一个字符串组成,


它对于每个


client


的连接都是唯一的,


client


把它的纯文本口令附加到从


server



收到的字符串之后,然后计算结果字符串的


MD5


摘要,


client



us ername



MD5


摘要作为


apop


命令的参数一起发送出去。



telnet pop3Server 110


user username


pass ****


stat


list


retr 1


retr 2


...


dele 1


dele 2


...


quit


SMTP


命令简介



什么是


SMTP


SMTP (Simple Mail Transfer Protocol) :


电子邮件从客 户机传输到服务器或从某一


个服务器传输到另一个服务器使用的传输协议。


SMTP


是请求


/


响应 协议,命令和


响应都是基于


ASCII


文本,并以


CR



LF


符结束。响应包括一个表示 返回状态的


三位数字代码。


SMTP



TCP


协议


25


端口监听连接请求。



什么是


ESMTP


ESMTP (Extended SMTP)


,顾名思义,扩展


SMTP


就是对标准


SMTP


协议进行


的扩展。它与


SMTP


服务的区别仅仅是,使用


SMTP


发信不需要验证用户帐户,


而用


ES MTP


发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之


后的邮件发送过程与


SMTP


方式没有两样。



SMTP


命令



SMTP


命令包括:



HELO


向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能


检测 到。



EHLO


向服务器标识用户身 份。发送者能欺骗,说谎,但一般情况下服务器都能


检测到。



MAIL FROM


命令中指定的地址是发件人地址



RCPT TO


标识单个的邮件接收人;可有多个


RCPT TO


;常在


MAIL


命令后面。



DATA


在单个或多个


RCPT


命令后,表 示所有的邮件接收人已标识,并初始化数


据传输,以



结束



VRFY

用于验证指定的用户


/


邮箱是否存在;由于安全方面的原因 ,服务器常禁止


此命令



EXPN


验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用



HELP


查询服务器支持什么命令



NOOP


无操作,服务器应响应


OK


RSET


重置会话,当前传输被取消



QUIT


结束会话




连接


Winmail Server


使用


SMTP


命令发送邮件



例如:安装


Winmail


的邮件 服务器


IP



192.168.0.1


(蓝色字体内容由客户端输


入,红色字体内容是服务返回的)< /p>



telnet 192.168.0.1 25


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


使用


telnet


命令连接服务器



25


端口



Trying 192.168.0.1...


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


正在连接服务器


25


端口



Connected to 1 92.168.0.1.


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


连接服务器


25


端口成功



220 Winmail Mail Server ESMTP ready


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


显示服务器的标识名称



(Winma il


管理工具


->


高级设置

< p>
->


系统参数


->


基本参 数中可更改


)


helo


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


向服务器标识用户身份,发信不


要认证,跳过下面几步直接发送


mail from


命令



250 Winmail Mail Server



ehlo


----------------------- ------------------------- ESMTP


命令


,


发信需要认证。



250-Winmail Mail Server



250-PIPELINING



250-AUTH=LOGIN PLAIN



250-AUTH LOGIN PLAIN



250-SIZE 20480000



250 8BITMIME



auth login


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


进行用户身份认证



334 VXNlcm5hbWU6



Y29zdGFAYW1heGl0Lm5ldA==


--------------- -------------------- BASE64


加密后的用


户名



334 UGFzc3dvcmQ6



MTk4MjIxNA==


--------------------------- -------------------- BASE64


加密后的密码



235 auth s uccessfully


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


身份认证成功



(


535 auth failure


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


身份认证失败


)


发到本系统中域名下的账户可跳过身份认证。



mail from:


---------- -------------------- mail from


地址



test1@


250 ok


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


命令执行成功



rcpt to:


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


递送给地址



test2@


250 ok


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


命令执行成功



data


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


数据传输初始化



354 go ahead


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


开始传输数据


-


-


-


-


-


-


-


-



本文更新与2021-02-11 23:32,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/639759.html

ESMTP身份验证的机制的相关文章