【发布时间】:2012-09-27 20:09:33
【问题描述】:
我正在使用 libnetfilter_queue 库。但我想不出在回调函数中提取有效负载的方法。我有点新。详细的帮助将不胜感激!实际上,我还希望从有效负载中提取 http 标头。
【问题讨论】:
标签: tcp network-programming http-headers iptables netfilter
我正在使用 libnetfilter_queue 库。但我想不出在回调函数中提取有效负载的方法。我有点新。详细的帮助将不胜感激!实际上,我还希望从有效负载中提取 http 标头。
【问题讨论】:
标签: tcp network-programming http-headers iptables netfilter
一旦你得到了直到回调,使用以下 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 包含整个数据包。我认为没有可用于解析 http 的显式 api。您可以阅读 http 标准的规范并跳过字节到您要查找的字段。
【讨论】: