我是python编程的新手。我正在编写小型smtp客户端,用于测试POSTFIX smtp服务器的实现。我也使用了python smtplib。下面是代码片段。你知道吗
import smtplib
def smtpTest(serverStr, mode=1):
servername = serverStr
server = smtplib.SMTP(servername, 25)
try:
server.set_debuglevel(True)
server.ehlo()
# If we can encrypt this session, do it
if server.has_extn('STARTTLS'):
server.docmd('STARTTLS\r\n RSET')
finally:
print "Closing the smtp session ...."
server.quit()
if __name__ == "__main__":
print "Closing the session now ..."
smtpTest(<ip address of smtp server>, 1)`
我使用的docmd()应该用于smtp服务器响应。我正在尝试检查“STARTTLS\r\n RSET”命令的smtp服务器行为。你知道吗
回应详情:- 我的期望是,如果smtp服务器有漏洞,应该按顺序给出2个响应代码。一个用于STARTTLS,另一个用于RSET命令。我的观察是,服务器准备好了tls tunnel,然后代码进入finally块以关闭会话。所以我的结论是服务器不易受到STARTTLS的攻击。你知道吗
我的查询:- 如果将命令字符串反转为'RSET\r\n STARTTLS',则会得到2个响应代码。使用重置然后启动tls的反向字符串,quit函数调用将结束会话,并且在客户端发送quit命令后,将显示starttls的命令。我只想在得到服务器的完整响应之后才同步quit的调用。在这种情况下,第一个是RSET,然后是STARTTLS。 任何指点都会很有帮助。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐