HTTP 请求中的奇怪数据

HTTP 请求中的奇怪数据

我有一个 HTTP 服务器,它为许多客户端提供许多短时间连接,服务器记录了一些无效的 HTTP 请求,因此我决定捕获网络流量。这是我得到的结果:

![图片][1]

由于 HTTP keep-alive,流看起来有 3 个请求,第一个(结束于APN: m-wap.0001)正常,但第二个和第三个不正常。我不认为用户发送了这样的请求,我认为这是网络问题(所有无效请求看起来都来自 3G 网络用户,位于 NAT 网络后面)。我们之前使用tcp_tw_reusetcp_tw_recycle,但我现在将它们关闭,以避免可能与 NAT 网络有关的问题。但仍然有一些无效请求,您有什么建议吗?

更新:最后我找到了答案,网络提供商通过添加最后 4 个标头来更改请求,并且他们需要更新 SEQ/ACK 编号,但似乎在重新传输的情况下他们没有正确执行此操作。

答案1

您在数据包捕获中是否遗漏了部分 TCP 对话?

客户端正在发送确认,并且ACK值在增加,这意味着已从另一端接收到数据,但您的捕获中没有这样的数据。

如果远程端发送了FIN但其发送缓冲区中仍有一些数据,或者已发送的数据延迟且无序到达,则这些可能解释了为什么客户端在最后一帧中重置。

答案2

我在问题更新中提供了答案。

相关内容