tcp 会话 - wireshark 捕获中的 http 请求

tcp 会话 - wireshark 捕获中的 http 请求

如下所示,我在 2 个单独的有效负载中看到了这个 [HTTP 请求 1/2] 和 [HTTP 请求 2/2],它们是单个 tcp 会话中单独的 GET 请求还是相同的 GET 请求???

在此处输入图片描述 在此处输入图片描述

====

添加了完整的捕获图片1 在此处输入图片描述

图2 在此处输入图片描述 图3 在此处输入图片描述

答案1

这两个请求很可能是同一个连接中的,因为:

  • 连接的端点,即两个请求的源端口、源 IP、目标端口和目标 IP 完全相同。通常,源端口是临时的,不会很快被另一个连接重新使用。
  • 第一个请求具有 (相对) 起始序列 1,长度为 9,第二个请求似乎紧随其后,具有起始序列 10。
  • 显示的时间信息表明这些请求很接近。

但是,如果不查看连接的更多部分,就不可能确定这一点,即找出请求之间是否有相同端点的连接拆除(FIN)和设置(SYN)。

请注意,如果这实际上是同一连接内的两个请求,那么 HTTP 客户端和服务器的行为将非常奇怪,或者根本没有 (正确的) HTTP。如果被 wireshark 解析为 HTTP,客户端将执行 HTTP 0.9 请求(请求中只有一行,即没有完整的 HTTP/1.x 标头),这本来就不常见(很久以前就过时了)。此外,尽管 HTTP 0.9 请求,服务器仍会执行 HTTP 保持活动(即单个 TCP 连接内的多个 HTTP 请求),尽管 HTTP 保持活动仅从 HTTP 1.0 开始Connection: keep-alive在请求中使用显式标头定义,或从 HTTP 1.1 开始隐式定义。

相关内容