如何确定哪些脚本通过默认SMTP虚拟服务器发送邮件

我运行一个小型的服务器托pipe网站约100个独特的客户端。 我的合法邮件服务器在DNS黑名单上出现问题,所以我需要了解我的许多客户端中是否有一个坏脚本通过我在IIS6中的SMTP虚拟服务器发送垃圾。

我有正确的电子邮件发送,我有中继设置为只允许127.0.0.1,所以我知道有人在这个盒子上的某个地方是允许通过该服务的不良邮件。 我已经启用了SMTP服务上的所有日志logging,但是它并不能提供任何有关哪个脚本(很可能是经典的ASP VBScript应用程序)的罪魁祸首的线索。

有了IIS6和内置的SMTP服务器,我想你会走运。 内置的SMTP服务器function相当有限。 除了编写某种插件(您可以这样做)或购买可以实现SMTP邮件信封的扫描和日志logging的插件外,您不会获得更多的信息。

正如jdw在他的评论中提到的那样; 为了这个特定的目的我使用了exim,我发现基于linux的MTA对于这种事情更加灵活和强大。 但是,如果你拥有的只是一个IIS的话,那并不能帮助你。

由于传统的ASP是纯文本,您可以在服务器上进行文本search,以获取发送邮件的常用ASP命令

CreateObject("CDO.Message") 

从那里你应该可以看到脚本如何设置“从”地址。 我想说,任何具有dynamicFROM值的脚本,或者如果您从相同的电子邮件地址一致了解垃圾,只是search该电子邮件地址。

今后,我强烈build议只使用经过身份validation的SMTP。

这是严格的理论,但是我刚才读了一篇关于类似情况的文章。 您应该能够使用在回送地址上configuration的Wiresharktypes产品来获取包含对默认SMTP连接器的所有引用的数据包捕获。 可能值得研究。

http://wiki.wireshark.org/CaptureSetup/Loopback