Как да извлечете полезен товар от пакет в опашката на iptables

Използвам библиотека libnetfilter_queue. Но не можах да разбера начин за извличане на полезен товар във функцията за обратно извикване. Аз съм малко нов. Подробна помощ ще бъде високо оценена! Всъщност аз също искам да извлека http заглавка от полезния товар.


person adnan kamili    schedule 27.09.2012    source източник


Отговори (1)


След като получите обратно извикване до, вземете файловия дескриптор, свързан с манипулатора на nfqueue, като използвате следния API.

int nfq_fd (struct nfq_handle *h);

След това извикайте стандартен recv(), който взема дескриптор за четене, буфер, в който запълва данните и дължината на буфера.

if(recv(fd, buf, sizeof(buf), 0) >= 0)
        printf("pkt received in buf\n");

Сега buf съдържа целия пакет. Не мисля, че има наличен изричен API за анализ на http. Можете да прочетете спецификацията на http стандарта и да пропуснете байтове до полетата, които търсите.

libnetfilerqueue

person fkl    schedule 27.09.2012