在下面链接提供的http-ethereal-trace中有三个HTTP GET请求。第二个和第三个请求分别下载GIF和JPG格式的图像。我们如何确定这两个文件是以串行方式还是并行方式下载的建立的 HTTP 和 TCP 连接?请详细解释。
链接:- https://drive.google.com/open?id=1Wa7G9TCjoouUYYyrczfAaN1JQafU-hHI
在下面链接提供的http-ethereal-trace中有三个HTTP GET请求。第二个和第三个请求分别下载GIF和JPG格式的图像。我们如何确定这两个文件是以串行方式还是并行方式下载的建立的 HTTP 和 TCP 连接?请详细解释。
链接:- https://drive.google.com/open?id=1Wa7G9TCjoouUYYyrczfAaN1JQafU-hHI
它们是并行的,您可以在任何方便的捕获工具中看到它们。它们是并行的,因为第二个在第一个处理完成之前打开。 事实上,处理甚至还没有开始。
我们看到两个 TCP 相隔几毫秒打开,一个在端口 4308 上,一个在端口 4309 上:
06:38:41.734948 IP (tos 0x0, ttl 128, id 694, offset 0, flags [DF], proto TCP (6), length 48)
192.168.1.102.4308 > 165.193.123.218.80: Flags [S], seq 4246632680, win 64240, options [mss 1460,nop,nop,sackOK], length 0
06:38:41.736408 IP (tos 0x0, ttl 128, id 699, offset 0, flags [DF], proto TCP (6), length 48)
192.168.1.102.4309 > 134.241.6.82.80: Flags [S], seq 4246666212, win 64240, options [mss 1460,nop,nop,sackOK], length 0
我们从它们的获取中识别流,稍后,片段显示从端口 4308 获取 GIF 和 4309 获取 JPEG:
06:38:41.756098 IP (tos 0x0, ttl 128, id 703, offset 0, flags [DF], proto TCP (6), length 611)
192.168.1.102.4308 > 165.193.123.218.80: Flags [P.], seq 1:572, ack 1, win 64860, length 571: HTTP, length: 571
GET /catalog/images/pearson-logo-footer.gif HTTP/1.1
...
06:38:41.759416 IP (tos 0x0, ttl 128, id 705, offset 0, flags [DF], proto TCP (6), length 595)
192.168.1.102.4309 > 134.241.6.82.80: Flags [P.], seq 1:556, ack 1, win 64240, length 555: HTTP, length: 555
GET /~kurose/cover.jpg HTTP/1.1
...
上面的输出是使用 tcpdump 捕获工具完成的,过滤 TCP 流。
tcpdump -n -v -K -r http-ethereal-trace-4 ip proto \\tcp
我会这样做:
使用wireshark去edit --> preferences选择
appearance --> columns
在那里我会添加一个新列,而不是给它一个类似的名称stream-idx并tcp.stream用作字段值。
现在,您在摘要行中获得了每个数据包的 Stream-Index 编号,您可以查看您的流是否被并行处理。
背景是,通常每个 GET 请求都使用一个单独的流。
但我认为你的例子并不是最好的证明,因为文件,尤其是 gif,太小了。