0
在Linux中,網絡設備由struct net_device提供。這種結構的一個字段是指向struct net_device_ops的指針,用於呈現網絡設備操作的表格。如何更改網絡設備操作表的安全性?
我在寫內核模塊,它是網絡數據包過濾器。 我該如何安全替換這些表(恐怕併發)?
在Linux中,網絡設備由struct net_device提供。這種結構的一個字段是指向struct net_device_ops的指針,用於呈現網絡設備操作的表格。如何更改網絡設備操作表的安全性?
我在寫內核模塊,它是網絡數據包過濾器。 我該如何安全替換這些表(恐怕併發)?
我非常同意喬爾的回答。您最好嘗試使用內核netfiler API來過濾流量。 netfilter API在Linux內核網絡堆棧中沿着數據包遍歷的不同點提供了五個掛鉤,您需要找出註冊callack需要哪一個來執行所需過濾。有時需要多個鉤子。網上有關於它的文檔。
你看過netfilter是否適合你的用例嗎?這比根據每個設備的結構簡單得多。 –
我寫課程項目。 – gibsonman01