在pcap文件中查找wireshark传输的数据

时间:2017-01-30 06:45:12

标签: wireshark tshark

我有一个巨大的pcap文件。我想知道facebook在转移数据(上传,下载)方面的用法。为此,我使用wireshark来读取此文件。从question on stackoverflow开始,有许多字段可用于查找字节。

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

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

1 个答案:

答案 0 :(得分: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到网络
  7. 逐个字节地发送结果数据

    所以你的问题实际上取决于你。你想测量什么?它是“数据,我需要显示除了所有辅助信息”?或者它是“我需要发送/接收的所有字节数来获取这张可爱的猫咪图片”?以下是获取每个部分大小的字段列表:

    1. 仅获取数据长度(不幸的是作为字符串):http.content_length_header == "606"
    2. 获取(数据+ HTTP标头)长度:tcp.len == 973
    3. 获取(数据+ HTTP + TCP + IP层):ip.len=1013
    4. 要发送每个字节:frame.len == 1027
    5. 如果要测量带宽占用率,请使用frame.len。如果您对“纯站点权重”感兴趣,它应该独立于环境,因此请使用http.content_length_header。考虑到以下因素,事情可能会在高层次上变得更加复杂:

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