0

libnetfilter_queue ライブラリを使用しています。しかし、コールバック関数でペイロードを抽出する方法がわかりませんでした。私は少し新しいです。詳細なヘルプは非常に高く評価されます! 実際には、ペイロードから http ヘッダーをさらに抽出したいと考えています。

4

1 に答える 1

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 にパケット全体が含まれるようになりました。http を解析するために利用できる明示的な API はないと思います。http標準の仕様を読んで、探しているフィールドまでバイトをスキップできます。

libnetfilerqueue

于 2012-09-27T12:09:33.713 に答える