我正在使用libnetfilter_queue库。但我无法想出一种在回调函数中提取有效负载的方法。我有点新鲜。详细的帮助将非常感谢!实际上我还希望从有效载荷中提取http头。
答案 0 :(得分:2)
一旦完成回调,使用以下api获取与nfqueue处理程序关联的文件描述符。
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标准的规范并跳过字节直到您要查找的字段。