代码之家  ›  专栏  ›  技术社区  ›  nos

PCAP结构

  •  26
  • nos  · 技术社区  · 16 年前

    我们在Linux上使用libpcap嗅探数据包 我们在每个包上得到的头看起来像:

    struct pcap_pkthdr {
            struct timeval ts;      /* time stamp */
            bpf_u_int32 caplen;     /* length of portion present */
            bpf_u_int32 len;        /* length this packet (off wire) */
    };
    

    现在,我的理解是,caplen是我们在 len是网络上包的长度。在某些情况下(例如,当打开PCAP设备时将snaplen设置得太低时),我们可能只捕获数据包的一部分,该长度将为“caplen”,而“len”是原始长度。因此,caplen应该等于或小于len,但不能大于len。

    这是正确的理解吗?我们正在一些机器上搜索caplen>len

    3 回复  |  直到 7 年前
        1
  •  17
  •   Jason    16 年前

        2
  •  5
  •   wanttomasterpython    12 年前

        3
  •  3
  •   user862787    12 年前