2011-07-31 84 views

回答

2

Qt在那裏是無奈的。你需要的是編寫一個netlink NFQueue處理程序。當你的數據包與一個說明-j NFQUEUE的規則相匹配時,你的用戶空間程序將接收這些數據包,允許你接受,丟棄或者修改(修改)數據包(只在mangle表中)。如果您可以使用GPLv2庫,則應使用libnetfilter_queue來幫助您。

但請注意,mac層不完整。這是因爲網絡代碼需要支持各種設備類型,並且一些非以太網設備沒有MAc地址。在以太網設備上,通常只有發送者的MAC地址。

+0

非常感謝您的幫助,可以在將數據包在netfilter中預先路由之前對數據包進行排隊,並將其掛接到用戶空間並使用NFQueue處理程序處理隊列 –

相關問題