1

sk_buff がどのプロセスに向けられているかを判断する方法を探しています。それを行う簡単な方法がないことを私は知っています。を取得するためsk_buffに使用してnetif_rx notifierいます。NETFILTER は割り込みコンテキストで動作するため、NETFILTER の代わりに通知機能を使用する必要がありました (ただし、この場合、NETFILTER が何らかの形でより便利になる場合は、切り替えることができます)。
私がこれまでに試したこと:
から取得するにstruct pid *sk_peer_pidstruct sock *. 各タスクの開いているファイル記述子と
比較します。これは重すぎる。 ネットワーク名前空間。すべてのプロセスが同じ名前空間を使用し、この機能はデバイスでデフォルトで有効になっていないため、これは役に立ちませんでした。struct file *struct files_struct


私の最後のアイデアは、パケットの宛先ポートと、プロセスがリッスンしているポートを比較することです。それを行う方法はありますか?パケットから目的のポート番号を取得し、それを調べて、どのプロセスがリッスンしているかを確認するには?

4

0 に答える 0