1
我在Ubuntu 14.10上使用netfilter隊列。一切工作到目前爲止,我看到數據包並設定了判決結果,但我想更好地瞭解我從隊列中讀取的內容。使用netfilter隊列時數據包頭的格式是什麼?
從此開始page。
這是有問題的代碼:
fd = nfq_fd(h);
while ((rv = recv(fd, buf, sizeof(buf), 0)) >= 0)
{
printf("pkt received\n");
nfq_handle_packet(h, buf, rv);
}
點在哪裏,他們有一個printf()
,究竟已經從FD讀?我假設它是由某種特定於netfilter的頭文件所包含的數據包,但我不知道該頭文件會是什麼。我正在查看我正在閱讀的字節的轉儲,但我沒有在那裏看到有效的L2,L3或L4。
注意,按照文件,我沒有設置在複印模式下的隊列這一行:
nfq_set_mode(qh, NFQNL_COPY_PACKET, 0xffff);