免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: tutux

[Mail] SMTP协议原始命令码和工作原理[转]-一转再转 [复制链接]

论坛徽章:
0
发表于 2003-07-03 10:35 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

如果是客户端的话,它要进行auth login 会话,就象netkiller 给出的例子一样,那如果一个smtp服务器连接上来,肯定是不会进行auth login会话的。那么就不会允许这个smtp服务器来发信。

可以看看我的这个帖子:是我抓的客户端连接smtp服务器A的auth login会话,还有smtp服务器B连接A的会话(没有auth login).
http://www.chinaunix.net/forum/viewtopic.php?t=104457

BTW: 我在sun的qmail的auth又不起作用了,TNND。难道又要铲掉重来。

论坛徽章:
0
发表于 2003-07-03 11:27 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

目前主流SMTP认证是cram-md5
我没有做成功。
CRAM-MD5 LOGIN
base64(user)
base64(md5(passwd))
不过我没做成功:(     
base64(user  md5(passwd))
了没成功:(

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2003-07-03 11:42 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

??
你查过cram-md5确实是这样的么?

md5难道还可逆?我觉得不会这样吧?

找找cram-md5的协议看看吧

论坛徽章:
0
发表于 2003-07-03 11:57 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

to: gadfly
你先看看SMTP认证原理。

cram-md4 rfc 我看过了。。E文不太好。看的马马糊糊。。
xxxx login
是为了不让其它用户listen 得到你的密码。和 实现没有用户发不了邮件。
你可以装一个tcp抓包工具。抓一下看看。。用户的所有过程全可以看看。。
包括auth login
base64
base64
你可以debase64() 可以看看用户密码。。
cram-md5 就安全多了。。

注。认证不是原get user and pass 与 auth login 对比。。
你可以用脑想想。。
你的邮件用户是放在ldap中。他是crypt or md5的。。但你们auth是明文的。为什么能认证成功呢?:)
但smtp认证时。auth login都可以通过。。
说明:
smtp -->;auth login -->;enbase64(user and pass)   ===>;MTA  debase64(crypt(user) )比对 <== ldap < -- crypt user

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2003-07-03 15:14 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

faint?

这怎么会一样呢?你也可以用脑子想一想。

一个是明文的用户名。当然可以用对比密码加密后的方法了。
你看看你自己怎么写的?用户名都是加过密的(md5),服务器怎么知道是哪个用户?

论坛徽章:
0
发表于 2003-07-03 15:26 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

to:netkiller
你给的这个例子是客户端软件连接一个auth smtp服务器的例子。你能给我讲讲某个smtp服务器连接一个需要auth smtp服务器之间的应答情况吗?我实在是弄不清楚了。

论坛徽章:
0
发表于 2003-07-03 15:35 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

你先看看 rfc2554.txt 在说。。
用户密码的确被md5.后在认证。

     Examples:
         S: 220 smtp.example.com ESMTP server ready
         C: EHLO jgm.example.com
         S: 250-smtp.example.com
         S: 250 AUTH CRAM-MD5 DIGEST-MD5
         C: AUTH FOOBAR
         S: 504 Unrecognized authentication type.
         C: AUTH CRAM-MD5
         S: 334
         PENCeUxFREJoU0NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4=
         C: ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ==
         S: 235 Authentication successful.

注:仔细看
         C: AUTH CRAM-MD5
         S: 334        PENCeUxFREJoU0NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4=
出这东东表。服务已经准备好。可以认证
         C: ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ==
用户 <空格>;  md5(密码) 发给服务器。。
         S: 235 Authentication successful.  成功了。。

我将 ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ==
debase64后得出
fred 9e95aee09c40af2b84a0c2b3bbae786e
fred用户,后面是密码。。
不信你自己看。。

我没有测试过我是不会说的。。因为这样会误导其它人。。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2003-07-03 15:46 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

//faint,你小子。

你之前的回答明明是md5(base64(user)) md5(base64(密码)),我针对的疑问就是这个,是不是给你改掉了?还是我看错了?

呵呵,没试过这种方式。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2003-07-03 16:02 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

你建一个和他例子一样的用户和密码,手工试试看,有问题么?

论坛徽章:
0
发表于 2003-07-03 16:02 |显示全部楼层

SMTP协议原始命令码和工作原理[转]-一转再转

rfc里是
base64(user md5(pass))
但我用了。不通

后来我又多次试验也没通。。
如:
base64(md5(user))
base64(md5(pass))
不行
base64(user)
base64(md5(user))
也不行。。

我在怀疑。是不是smtp不支持。。我就的是别人的qmail
163.com不支持。cram-md5
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP