【问题标题】:Find data transfered by wireshark on pcap file在 pcap 文件上查找由 wireshark 传输的数据
【发布时间】:2017-06-15 06:43:24
【问题描述】:

我有一个巨大的 pcap 文件。我想了解 facebook 在数据传输(上传、下载)方面的使用情况。为此,我使用wireshark 来读取这个文件。在 question on stackoverflow 中,有许多字段可用于查找字节。

frame.len==243
ip.len=229
udp.length==209
data.len=201

现在,我测试 frame.len 和 ip.len 都给出了不同的结果。我应该认为什么是正确的?我是网络术语的新手,我必须找到正确传输的数据。

【问题讨论】:

    标签: wireshark tshark


    【解决方案1】:

    当你连接到服务器并请求一些简单的页面时会发生什么:

    1. 服务器应用程序生成请求的数据(例如<body>Hello world</body>字符串)并将其传递给HTTP层
    2. HTTP 层根据 RFC 生成必要的标头(指定 HTTP 版本、状态代码、内容类型等),将其添加到生成的数据中并将所有内容传递给 TCP 层
    3. TCP 层可能会将数据分成多个部分(不是我们的情况,消息已经太小),并将传输层的必要信息添加到每个部分(src/dst 端口号、序列号、一些标志、校验和等) ,然后将其传递到 IP 级别
    4. IP 层为路由添加必要的信息(源/目标地址、TTL 和其他内容),然后将其传递到较低层(例如以太网)
    5. 以太网添加它的一部分(MAC 地址,可能是 VLAN 标签)并将所有内容推送到物理设备
    6. 结果数据从服务器的 NIC 逐字节发送到网络

    所以你的问题实际上取决于你。你想测量什么?是“数据,我需要显示不包括所有辅助信息”?还是“我需要发送/接收的所有字节数才能获得这张可爱的猫照片”?以下是获取每个部分大小的字段列表:

    1. 仅获取数据长度(不幸的是,作为字符串):http.content_length_header == "606"
    2. 获取(数据+HTTP头)长度:tcp.len == 973
    3. 获取(数据 + HTTP + TCP + IP 层):ip.len=1013
    4. 要发送每个字节:frame.len == 1027

    如果要测量带宽占用,请使用frame.len。如果你对“纯网站权重”感兴趣,它应该独立于环境,所以使用http.content_length_header。考虑到以下因素,事情可能会在高层次上变得更加复杂:

    • HTTPS 时代意味着您无法轻易在跟踪中观察 HTTP 内容,因此tcp.len 可能是最高选择
    • 某些数据(例如音频、视频)通过不同的协议栈(例如 IP - UDP - RTP)传输

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-27
      • 2018-12-18
      • 2015-03-23
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      相关资源
      最近更新 更多