Доброго времени суток.
Делаю простейший фильтр, переделывая пример Filter, пытаюсь определить размер Ip пакета:
ether_header* pEtherHdr = NULL;
iphdr_ptr pIpHdr = NULL;
…
pIpHdr = (iphdr*)(PacketBuffer.m_IBuffer + sizeof(ether_header));
u_short l = pIpHdr->ip_len,
при этом получаю 2560, хотя формирую пакет размером 54 байта.
Программу тестирую в сети между виртуалкой и основной системой.
Подскажите, как получить значение длины ip пакета? Необходимо ли преобразовывать как-нибудь pIpHdr->ip_len?