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

[入库:2005年9月21日] [更新:2007年3月24日]

本文简介:

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

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

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

 gadfly 回复于:2003-07-03 15:46:59 //faint,你小子。

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

呵呵,没试过这种方式。

 gadfly 回复于:2003-07-03 16:02:37 你建一个和他例子一样的用户和密码,手工试试看,有问题么?

 netkiller 回复于:2003-07-03 16:02:52 rfc里是
base64(user md5(pass))
但我用了。不通

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

我在怀疑。是不是smtp不支持。。我就的是别人的qmail
163.com不支持。cram-md5

 gadfly 回复于:2003-07-03 16:05:00 用户名是肯定不能md5的。

qmail的auth patch中,nimh那个不支持cram方式

 netkiller 回复于:2003-07-03 16:16:52 to:flytod
smtp <==握手 ---> 投递 ==> smtp

应该是由MAILER-DAEMON 来完成的吧。
mailq可以看到队列。

投递是不用认证的。。就象。
你写一封信,要填地址,邮编。(相当于SMTP认让。如果不写地址邮局是不给你发的。。)--->深圳的邮电局 ---将信或other 交给--> 北京邮局-->用户手里。

你可在UNIX like下用mail -s test xxx@xxx.com </etc/passwd
就可以发邮件。但不用认证。

所以你可以用第三个SMTP server 用拔号IP发拉圾邮。:)它只提供SMTP ===> ISP SMTP。它没有收的功能。只能发。。

以上只供参考。我说的也不一定就准确。大家还要自己查资料。

 gadfly 回复于:2003-07-03 16:24:50 我看了三大门户,没有支持cram auth的

 netkiller 回复于:2003-07-03 16:28:47 如果大家对这个些感兴趣。
可以玩玩socket 编程。。
不要认为SOCKET很难。。说白了。就是对讲机。
police:呼叫,0101,over
0101: 明白,请讲.over
这就是握手,也就是helo过程。
police:这边有小偷,over
0101:明白,地址,over
pollice:
地址:深南中路,华强北,SEG广场,\n
楼层:四楼 \n
位置:xxxx柜台 \n
. \n
over
0101:明白,over
quit

如果深入学习。会涉及到多线程,线程间同步/通信,挺好玩的。。
当你学会SMTP,POP,其它也是同样实现的。。:)     

http://cvsweb.9812.net
news Module
这是一个新闻组client程序,是socet写的。。大家可以看看。。

 gadfly 回复于:2003-07-03 16:41:54 呵呵,netkiller说得形象。

没错tcp协议就是这个样子的。只要知道tcp的协议格式(通用协议都有rfc),就可以用telnet 手工测试

本文关键:SMTP协议原始命令码和工作原理[转]-一转再转
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top