2

我在网上找到了这个工具:http ://www.unleashnetworks.com/products/unsniff.html

这是如何运作的?他们是否假设会话的所有 HTTP 流量都发生在同一个 TCP 会话中,然后只是将所有这些数据聚集在一起?这是一个安全的假设吗?

我的印象是,当我加载一个页面时,可能会为单个页面加载(图像、视频、flash 等等)运行多个 TCP 会话。

当我考虑打开两个同时加载页面的浏览器选项卡时,这似乎变得复杂了。我如何区分一个 http“会话”和另一个?如果他们点击同一页面,尤其如此,对吧?

就此而言,浏览器如何知道传入的哪些数据属于哪个选项卡?它是否跟踪属于单个选项卡的 TCP 会话?

编辑:

当上面提到 HTTP 会话时,我指的是加载页面所需的所有相关 HTTP 事务。

通过 TCP 会话,我实际上是指握手的 SYN -> FIN 数据包生命周期。

4

2 回答 2

0

尽管它可能不可见,但 HTTP 会话跟踪器正在从客户端作为参数或 e cookie(标头)传递到服务器

您可能需要阅读有关HTTP 会话令牌的信息

会话令牌是从服务器生成并发送到客户端以标识当前交互会话的唯一标识符。客户端通常将令牌存储并作为 HTTP cookie 发送和/或将其作为 GET 或 POST 查询中的参数发送。使用会话令牌的原因是客户端只需要处理标识符——所有会话数据都存储在与该标识符链接的服务器上(通常在数据库中,客户端无法直接访问该数据库)。一些编程语言在命名其 HTTP cookie 时使用的名称示例包括 JSESSIONID (JSP)、PHPSESSID (PHP) 和 ASPSESSIONID (ASP)。

于 2012-11-26T22:05:21.840 回答
0

我不熟悉您链接到的“Unsniff”应用程序,但我之前使用过一些数据包嗅探器(我最喜欢的是Wireshark)。通常,您可以根据会话连接到的主机来区分会话。因此,例如,如果您打开了 2 个选项卡,其中一个打开到 www.google.com,另一个是 www.facebook.com,则数据包嗅探器应该能够告诉您哪个会话指向哪个主机(或至少给你一个 IP 地址,然后你可以用它来查找主机。请参阅:反向查找)。

大多数情况下,多个 HTTP 会话将对一台主机开放。当您加载站点的各种资源(CSS 文件、图像、javascript 等)时就是这种情况。这些资源中的每一个都将显示为一个单独的 HTTP 会话(当然,除非连接是持久的……但是您的嗅探器应该能够将它们分开)。在这种情况下,您(或嗅探器)将需要通过查看 HTTP 数据包中的实际数据来确定下载的内容。

于 2012-11-26T22:11:17.677 回答