Структура заголовка UDP, определенная в /usr/include/netinet/udp.h, выглядит следующим образом
struct udphdr
{
u_int16_t source;
u_int16_t dest;
u_int16_t len;
u_int16_t check;
};
Какое значение хранится в поле проверки заголовка? Как проверить правильность контрольной суммы? Я имел в виду, на каких данных рассчитывается контрольная сумма? (Это только заголовок udp или заголовок udp плюс полезная нагрузка, которая следует за ним?)
Спасибо.