4

文字列が一致するudp/tcpパケットをドロップするようにルールを設定しました。ただし、libpcapを使用してパケットをキャプチャする私のプログラムは、引き続きこのパケットを見ることができます。

なぜこれ/、libpcapによって見られる前にパケットをドロップするためのiptableルールは何である必要がありますか?

とにかく、おそらくiptablesルール以外に、libpcap / tcpdumpによって認識される前にこのパケットをドロップすることはありますか?

4

3 に答える 3

9

はい、libpcapはすべてのパケットを認識します。。それらは、netfilterによって処理される前にキャプチャされています。

于 2009-05-06T13:10:23.913 に答える
0

使用するnetfilterフックの優先度を変更しようとしましたか?着信パケットに最高の優先度でフックしようとすると、パケットソケットカーネルコードの前にパケットが取得されます。これは、libpcapがパケットをキャプチャするために使用する方法です。

*Linuxを使用していると思います*

編集:Libpcapは、OSに応じて、さまざまな方法でパケットをキャプチャします。Linuxでは、netfilterフレームワークを使用してカーネルコードに実装されているパケットソケットを使用します。

于 2016-06-05T16:08:28.657 に答える
-4

libpcapがnetfilterの前にパケットを確認する方法はありません。netfilterはカーネルモジュールであり、ユーザーモードに入る前にすべてのパケットを処理します。カーネルが確認する前にパケットを確認することもできます。さらに説明してもらえますか?libpcapがnetfilterにフックを設定して、iptablesのフックを上書きしている可能性もあります。本当の問題は、netfilterでどのフックが設定されているかを確認することは簡単ではなく、カーネルモードでのみ実行できることです。libpcapがパケットを取得する方法を調査します。

于 2009-06-03T04:55:09.853 に答える