Názory ke článku Surové (raw) pakety - přímá komunikace se síťovou kartou
Petr Zajonc NOVÝ
25. 10. 2010
25. 10. 2010
Děkuji za pěkný článek. Vedle manuálu k libpcapu je to další velice užitečný zdroj, podle kterého se dá i něco napsat. Také oceňuji, že se nazabýváte jen zachytáváním, ale že něco i odesíláte.
V zdrojovom kóde RawPacket.h je chyba, riadok 88:
inline void IPSetTotalLength() { if (mIPHeader) mIPHeader->tlen = htons(mBufferSize); }
má byť:
inline void IPSetTotalLength() { if (mIPHeader) mIPHeader->tlen = htons(mBufferSize - sizeof(NetEthernet)); }
Kvôli tejto chybe neboli UDP pakety doručené cieľovej aplikácii, pretože dĺžka dát v IP hlavičke bola navýšená o dĺžku hlavičky NetEthernet