Wireshark 协议层次解释

网络工程 线鲨
2021-07-07 13:08:21

我正在尝试计算特定协议在不同层使用了多少带宽。

Wireshark 协议层次结构给出了如下内容:

Protocol     %Bytes     Bytes
Frame        100%       158223
 Ethernet    100%       158223
  IPv4       100%       158223
   TCP       100%       158223
    HTTP     32.3%      50786
    SSL      8.03       12708

那是什么意思?很明显,所有流量都是 TCP,其中一些是 HTTP,一些是 SSL。

但令我困惑的是,第 1、2、3 和 4 层的字节数都是相同的。那么 158223 是 TCP 流量的大小还是帧的大小?

我希望每个更高的层都少于标头开销的值。所以像这样:

Protocol     %Bytes     Bytes
 Frame        100%       158223
  Ethernet    100%       157000 (158223 - x per packet, where x is Frame overhead)
   IPv4       100%       154000 (157000 - 18 bytes per packet Ethernet overhead)
    TCP       100%       152000 (154000 - 20 bytes per packet IPv4 overhead)
     HTTP     32.3%      50786
     SSL      8.03       12708
1个回答

一般来说,您在 L2 捕获的所有内容都是一个帧,无论是以太网、FDDI、ATM 等。在您捕获的 158223 个字节的示例中,100% 是以太网帧。

这些帧的 100% 字节包含 L3 信息。在您的示例中,其中 100% 是 IPv4 数据包。它们还可以包括 IPv6 或其他一些 L3 协议(或根本不包含 L3 信息)。

这些数据包的 100% 字节包含 L4 信息。在您的示例中,其中 100% 是 TCP 段。例如,它们还可以包括 UDP。

在这些段中,32.4% 的字节是 HTTP,8.03% 的字节是 SSL。

因此,为了回答您的问题,158223 是 TCP 流量和帧流量(以及以太网和 IPv4 流量)的大小。