如何调试/监控SMTP通信?

时间:2009-05-19 14:35:18

标签: debugging smtp monitoring

调试HTTP很简单,你可以使用各种工具(比如Fiddler)。那么SMTP呢?

如何调试SMTP通信?

我的目标系统是Windows。


推荐工具:

  • 抓包
  • tcpdump的
  • Microsoft网络监视器

6 个答案:

答案 0 :(得分:11)

对于使用Ethereal回复的两个人:由于商标问题,我们在2006年将该项目重命名为Wireshark(http://www.wireshark.org)。我强烈建议升级。

根据您的确切问题,Wireshark的Follow TCP Stream功能对于调试Internet邮件协议(包括SMTP)非常有用。

答案 1 :(得分:10)

如何使用Wireshark捕获电子邮件:

  1. Get wireshark - >安装
  2. 进入过滤器,输入smtp,然后单击应用 enter image description here
  3. 当您获得过滤后的行时,请在其中一行上单击鼠标右键,然后选择“关注TCP流”#39;。 你应该得到如下的窗口 enter image description here
  4. (可选)如果要检查base64编码的电子邮件的内容 将看起来像乱码的部分复制到base64到文本转换器之一,there are plenty online.您应该获得已发送的可读文本。
  5. enter image description here

    希望这可以节省你一些时间。

答案 2 :(得分:5)

smtp-cli对此有好处。从主页:

  

smtp-cli是一个功能强大的SMTP命令行客户端,具有支持功能   用于高级功能,例如STARTTLS,SMTP-AUTH或IPv6

除了是一个功能齐全的客户端之外,它还有--verbose个选项 我认为你正在寻找的工具来追踪SMTP问题(例如, 为什么服务器拒绝给定的:地址,这就是我找到工具的方式:-))

再次从主页:

  

它也是测试和调试SMTP服务器设置的便捷工具。   甚至硬核邮件管理员也曾经通过telnet键入SMTP协议   在验证加密设置方面需要专门的工具   他们的TLS启用服务器具有后续用户身份验证。这样的事情   很难手工输入telnet会话: - )

答案 3 :(得分:4)

尝试Ethereal - 它是一个免费的网络协议分析器。

SMTP协议都是ascii,所以一旦你看到TCP连接中的内容,你就应该好了。

学习如何使用Ethereal需要一些工作。

答案 4 :(得分:2)

如果您想查看SMTP流量,请使用 ethereal (www.ethereal.com)或 tcpdump (www.tcpdump.org)等工具。

如果您想检查服务器是否符合中继标准,请执行


telnet relay-test.mail-abuse.org

从您的SMTP服务器

,它会检查您的服务器是否存在中继漏洞。

答案 5 :(得分:2)

您可以使用SMTP开发服务器,例如NeptuneAntix。两者都以相同的方式工作:它们在您的计算机中创建一个“假”SMTP服务器,以便您可以测试您的电子邮件发送方法,而无需实际发送它们收到的消息。