Какое возвращаемое значение pcap_datalink()
на pcap_t
, на котором вы снимаете?
Если это не DLT_EN10MB
(значение 1), ваши пакеты не являются Ethernet-пакетами, и вы не должны анализировать их как Ethernet-пакеты.
Если это DLT_EN10MB
, то это гекс 608 или десятичный 608? Если это десятичное число 608, это поле длины, а не поле типа. То же самое относится к 8, который является тем же десятичным или шестнадцатеричным и, таким образом, будет значением длины, а не значением типа.