IPv4 SYN、ACK 和 RST 问题

IPv4 SYN、ACK 和 RST 问题

再会,

我在网络工程师 StackExchange 中问了这个问题,并被告知在这里问。

我正在运行一个 Roundup 服务器 (Ubuntu 12.04),而 Roundup-mailgw (python 脚本) 不再能够从 MS Exchange 中提取电子邮件来在 Roundup 中创建票据。邮件从一个点流向另一个点,没有任何问题,但当 Roundup-mailgw 进程运行以从 Exchange 中提取电子邮件时,我不断收到 Roundup 日志连接被对等方重置的错误,并且该进程每 5 分钟运行一次。

通过查看数据包的 wireshark 视图,我看到了以下内容:

677 2015-11-30 13:00:01.208619  IP1 IP2 TCP 74  35438→995 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=196418977 TSecr=0 WS=128
678 2015-11-30 13:00:01.209580  IP2 IP1 TCP 74  995→35438 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1 TSval=47517378 TSecr=196418977
679 2015-11-30 13:00:01.209612  IP1 IP2 TCP 66  35438→995 [ACK] Seq=1 Ack=1 Win=29312 Len=0 TSval=196418977 TSecr=47517378
680 2015-11-30 13:00:01.209993  IP1 IP2 SSL 357 Client Hello
681 2015-11-30 13:00:01.215919  IP2 IP1 TCP 60  995→35438 [RST, ACK] Seq=1 Ack=292 Win=0 Len=0

很长时间以来,汇总服务器上没有任何变化。证书还有 2 年才会过期,唯一的变化是 Exchange 已打补丁并重新启动。没有 Exchange 或 IIS 补丁 (owa)。因此,我没有查看数据包,遇到了障碍。任何帮助都将不胜感激。

谨致,李

答案1

最明显的原因是您尝试使用服务器不支持的 SSL/TLS 版本。例如,Exchange 补丁之一是否禁用了 SSLv3,而您尝试协商 SSLv3 连接?

您可以在 Wireshark 中的“Client Hello”详细信息中看到您所要求的内容:

Secure Sockets Layer
   TLSv1 Record Layer: Handshake Protocol: Client Hello
      Content Type: Handshake (22)
      Version: TLS 1.0 (0x0301)
      Length: 149

然后,您可以检查 Windows 注册表以查看启用了哪些密码(请参阅 MSDN 文章),或者在 Exchange 端启用 SChannel 调试(按照https://support.microsoft.com/en-us/kb/260729) 这有助于缩小 SChannel 错误的范围。

另一个选项是密码不匹配;即,您请求的密码套件不受服务器支持 - 同样,补丁可能禁用了您的汇总服务器尝试使用的较弱的密码。同样,“客户端问候”消息包含您的端点支持的密码套件列表 - 您需要将此列表与 Windows 服务器上启用的密码进行比较(或使用 SChannel 日志记录来获取信息)。

相关内容