2016-11-24 9 views
0

Linuxでは、net_deviceによってネットワークデバイスが提供されます。この構造体のフィールドの1つは、ネットワークデバイス操作のテーブルを提示するstruct net_device_opsへのポインタです。ネットワークデバイスの操作テーブルの安全性を変更するにはどうすればよいですか?

私はネットワークパケットフィルタであるカーネルモジュールを書いています。 これらのテーブルをどのように安全に置き換えることができますか(私は恐らく同時実行を恐れています)?

+0

あなたのユースケースでnetfilterが機能するかどうか調べましたか?それは、デバイスごとの構造を使ったほうがはるかに簡単です。 –

+0

私はコースプロジェクトを書いています。 – gibsonman01

答えて

0

私はジョエルの答えに強く同意します。トラフィックをフィルタリングするために、カーネルnetfiler APIを使用することをお勧めします。 netfilter APIは、Linuxカーネルネットワークスタック内のパケットトラバーサルに沿ってさまざまなポイントに5つのフックを提供し、必要なフィルタリングを実行するコールスタックの登録に必要なものを見つける必要があります。場合によっては複数のフックが必要になることがあります。それについてのWeb上のドキュメントがあります。

関連する問題