listen(2)
私は着信接続のためにソケットを開くために呼び出すアプリケーションを検出し、ルールテーブルを使用してそれを見つけるアプリケーションを作成しています。これはmacOSのアプリケーションファイアウォールと非常によく似ています。したがって、私の主なアプローチは、listen
ロード可能なカーネルモジュールを使用して呼び出しをオーバーライドすることです。カーネル2.6以降では、システムコールテーブルが読み取り専用の場合、Linuxでも可能ですか?もっと良い方法がありますか?
答え1
たとえば、より良いアプローチはeBPFを使用することです。
「パケットフィルタリング」部分にだまされないでください。 BPFは、もはやパケットフィルタリングに関するものではありません。学習曲線はかなり急ですが、それほど価値があります。