我们在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