pcapと生のソケット[閉じる]

pcapと生のソケット[閉じる]

RHELで(他のオープンソケットによってルーティングまたは処理されずに)カーネルから直接すべてのレベル2パケットを盗む生のソケットを生成するためのアプリケーション(可能であればモジュールまたはユーザーレベル)を開発したいと思います。私はプログラムで特定のパケットタイプを処理するためにpcapにパケットを供給したいと思います。これを行う最良の方法は何ですか?ゼロコピーネットワーキング、pcap、BPFに関する記事を見たことがありますが、すべてパケットキャプチャ/コピーを扱っているようです。

ベストアンサー1

インターフェイスの IP アドレスを指定しないでください。オンにしてlibpcapを使用してパケットをキャプチャします。 IPアドレスがないと懸念される場合、カーネルはこれを無視します。

インターフェイスがカーネルによって処理されるIPアドレスを持ち、特定のIPパケットのみがアプリケーションにリダイレクトされるようにするには、netfilterを使用します。 NFQUEUEまたはNFLLOG iptablesターゲットを確認してください。

パケットキャプチャのパフォーマンスに興味がある場合は、次の点を確認してください。PF_RING

そうでなければ、私には明確ではないので、あなたが望むものが何であるかをより詳細に説明することができます。

おすすめ記事