当填充不是 0 或 F 时,TCP SYN 数据包无响应

当填充不是 0 或 F 时,TCP SYN 数据包无响应

我的客户端使用 SYN 数据包发起三方握手,但没有 SYN ACK 响应。我们发现这是因为客户端没有用 0 或 F 填充 TCP 标头的末尾,而是用其他值填充(我们使用数据包生成器软件来确认这一点)。服务器是 Windows XP 32 位版本 2002 Service Pack 3。我在 Windows 7 上尝试过,问题没有发生。有人听说过这种问题吗?可能是因为服务器在 Windows XP 上运行吗?我尝试过简化网络链接(本地链接),我尝试过让服务器在安全模式下运行,但结果相同。客户端提供商表示,他们已经验证过它可以与他们那边的 Windows XP 服务器一起使用。

答案1

据我所知,用零填充是唯一有效的 TCP 报头填充。(F 不行。请参阅 1981 年的 RFC 793!)这种情况已经持续了很长时间。Windows XP 也这样做了。您的 Windows XP 副本不会这样做的唯一原因(我能想到的)是因为您的 NIC 驱动程序。确保您使用的是最佳网卡驱动程序。

相关内容