【问题标题】:How to extract payload from packet in queue of iptables如何从iptables队列中的数据包中提取有效负载
【发布时间】:2012-09-27 20:09:33
【问题描述】:

我正在使用 libnetfilter_queue 库。但我想不出在回调函数中提取有效负载的方法。我有点新。详细的帮助将不胜感激!实际上,我还希望从有效负载中提取 http 标头。

【问题讨论】:

    标签: tcp network-programming http-headers iptables netfilter


    【解决方案1】:

    一旦你得到了直到回调,使用以下 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 标准的规范并跳过字节到您要查找的字段。

    libnetfilerqueue

    【讨论】:

      猜你喜欢
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-08
      • 2022-08-17
      相关资源
      最近更新 更多