2010-10-21 164 views
1

我是使用jpcap进行数据包嗅探,并且我在想如何才能找出响应是针对哪个请求的。 HTTP头字段甚至没有声明服务器的地址,也没有ID。HTTP响应如何与请求相关?

我需要检查端口或什么?

回答

2

听起来好像你正在查看捕获的IP数据包,却不知道TCP连接的工作方式。答案是HTTP标头不包含服务器的地址,因为它们不需要。 HTTP数据通过TCP连接设置,该连接管理每个数据包的源地址和目标地址。

TCP连接就像客户端和服务器之间的虚拟“管道”。一个TCP连接上发送的任何数据:

  • 到达以相同的顺序,另一端被发送,或
  • 完全不

即使单独的IP数据包可能到达被分割并以与发送的顺序不同的顺序到达目的地,TCP会将所有内容排序并向接收者呈现一致的,保证的发送者放入管道的相同数据的视图。

1

响应将立即在相同的连接上跟随请求。客户端不能在同一个连接上挂起多个请求,它必须在发送新命令之前等待响应,否则必须在新连接上发送请求。

+0

事实并非如此,有一种叫做'请求隧道'的东西。然而,它确实在所有相同的连接上。 – EJP 2010-10-22 00:48:35

0

http是一个应用程序/表示层协议。不要认为如果你检查http头你会发现服务器的地址。需要通过剥离http头来查看IP数据包。

0

如果您使用的是Wireshark,只需'追踪'连接。