如何使用嗅探器排除 SMTP 流量故障?

如何使用嗅探器排除 SMTP 流量故障?

我们遇到了一个问题,就是我们不再收到外部电子邮件。(我们有一个 Exchange 邮件系统,带有 Barracuda 垃圾邮件过滤器和 Watchguard 硬件防火墙。)问题是邮件似乎通过了 Watchguard 盒子,但没有显示在 Barracuda 盒子上。我和两家公司的技术人员通了电话,他们都将责任归咎于另一个盒子。

为了缩小问题范围,我将把 Watchguard 盒子的传出端口连接到集线器,并连接正在运行 Wireshark 的笔记本电脑。我的问题是:我会看到哪些数据包,它们会告诉我邮件是否通过了 Wireshark 盒子?有人可以推荐我应该使用哪种过滤器,或者至少告诉我哪些类型的数据包(例如,它们会显示为 SMTP 吗?)。或者也许我应该只查找端口 25 上的流量?提前致谢。

答案1

步骤 1 是在垃圾邮件设备前开始抓取数据包,理论上,垃圾邮件设备会在通过防火墙后接收这些数据包。您需要将捕获过滤器设置为“端口 25”。Wireshark 的解析器足以自行完成大部分分析。右键单击数据包,选择“查看 TCP 会话”以获取 SMTP 会话的完整记录。

如果您看不到任何数据包,则说明防火墙实际上没有传递 SMTP 流量。您可能需要亲自发送一些消息来证明捕获过滤器正在工作。如果可能,请在防火墙前重复测试以证明您确实收到了任何消息。

如果你看到的只是发往设备的 SYN 数据包,而设备却没有响应,那么你就找到了罪魁祸首。该设备已经休假了。

如果您看到看起来正常的完整 SMTP 对话,请在设备的出站端口上重复测试。

如果出站端口没有显示 SMTP 流量,则说明问题出在设备内部某处。这应该有助于说服供应商支持人员,这确实是他们的问题。

如果您看到完整的出站流量,则问题就出在您的邮件系统的某个地方。

答案2

wireshark wiki 怎么样?邮件传输协议? 和这里是一篇针对初学者的博客文章。

答案3

还有其他一些选择...

1) 您可以随时尝试手动 telnet 测试外部的 25 端口,并手动进行 SMTP 对话。详情如下:http://support.microsoft.com/kb/153119

2)我不熟悉 Barracuda 盒子,但在大多数 Linux 电子邮件网关上,你可以运行 tcpdump(类似于tcpdump 端口 25 -s 0 -w foo.pcap)。

-M

答案4

我会尝试插入之间防火墙和垃圾邮件过滤器。如果您没有捕获任何内容,请采取您的方法。

好吧,我会抓取端口 25 上的所有数据包然后检查,这样你肯定不会因为错误的过滤器而错过任何东西。

相关内容