2012-05-03 29 views
4

我想要捕獲端口80上的所有tcp數據包,這些數據包將轉發到轉發地址並將它們傳遞到用戶空間程序中進行加密。我知道如何用iptables規則做到這一點,如從netfilter接收用戶空間中的數據包

iptables -A FORWARD ... -j NFQUEUE --queue-num 10 

,但我似乎無法找到任何例子,有時間限制的,所以我不能只是通過Wireshark的代碼來審覈。我正在尋找例子,甚至是一個開始的地方。我可以使用套接字嗎?或者是否有內核數據結構可用於將數據包從堆棧中彈出,一旦完成,我如何將數據包傳遞迴netfilter?

回答

3

你可以編寫一個內核模塊來註冊某個協議的排隊數據包。 您可以閱讀netfilter-hacking-HOWTO,第25頁有一個「處理排隊的數據包」部分。本節討論更高級別的問題,但會回答您提出的所有問題。

下載它: http://www.netfilter.org/documentation/index.html#documentation-howto

你可以使用nf_reinject()讓數據包得到進一步處理。

我不想重複本指南中的任何內容,但這應該足以開始。

相關問題