Използвам библиотека libnetfilter_queue. Но не можах да разбера начин за извличане на полезен товар във функцията за обратно извикване. Аз съм малко нов. Подробна помощ ще бъде високо оценена! Всъщност аз също искам да извлека http заглавка от полезния товар.
Как да извлечете полезен товар от пакет в опашката на iptables
Отговори (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 стандарта и да пропуснете байтове до полетата, които търсите.
person
fkl
schedule
27.09.2012