Структура заголовка пакета libpcap имеет 2 поля длины:
typedef struct pcaprec_hdr_s {
guint32 ts_sec; /* timestamp seconds */
guint32 ts_usec; /* timestamp microseconds */
guint32 incl_len; /* number of octets of packet saved in file */
guint32 orig_len; /* actual length of packet */
} pcaprec_hdr_t;
incl_len: количество байтов пакетных данных, фактически захваченных и сохраненных в файле. Это значение никогда не должно превышать orig_len или значение snaplen глобального заголовка.
orig_len: длина пакета в том виде, в котором он появился в сети на момент захвата. Если incl_len и orig_len отличаются, фактически сохраненный размер пакета был ограничен snaplen.
Может ли кто-нибудь сказать мне, в чем разница между двумя полями длины? Мы полностью сохраняем пакет, тогда как они могут отличаться?