2

libpcapはパケットまたは実際のパケットのコピーを取得しますか?

コピーとは、libpcapを使用するアプリケーションがパケットAを取得し、カーネルもパケットAを取得することを意味します。

実際には、 libpcapを使用するアプリケーションのみがパケットAを取得しますが、カーネルはそれを取得しませんでした。

4

2 に答える 2

3

カーネルはパケットを取得し、フィルターのリスト(たとえば、通常はIPsec、ファイアウォールなどのフィルターがあります)を通過し、これらのフィルターをすべて通過すると、パケットをアプリケーションに渡します。libpcapは別のフィルターですが、パケットを検査したり、変更したり、他のフィルターが行うことを行うのではなく、単にパケットを内部データベースに追加して処理します。

あなたがしたいことのために、最も簡単な解決策はファイアウォールを使用することです。

于 2010-05-12T00:21:46.870 に答える
3

libpcapあなたがやりたいことをすることはできません。pcapの目的は、システム内のすべてのパケットのコピーを透過的に受信することです。

システム内の既存のファイアウォールと相互運用する方法、または独自のフィルターをnetfilterシステムに追加する方法(Linuxの場合)を調査する必要があります。

于 2010-05-12T00:24:30.813 に答える