В чем разница двух длин в заголовке пакета pcap? - PullRequest
0 голосов
/ 07 октября 2019

Вот структура заголовка пакета в pcap:

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? И где они используются?

1 Ответ

1 голос
/ 07 октября 2019

len - фактическая длина пакета на проводе. caplen - это длина, которая фиксируется и, таким образом, присутствует в файле pcap. caplen может быть таким же, но также меньше len.

Сколько байтов пакета будет перехвачено, можно указать, например, в tcpdump с -s size. Хотя во многих системах tcpdump будет захватывать до 64 КБ по умолчанию, например, в OpenBSD, он будет захватывать только 116 байт.

...