2011-07-19 11 views
0

2つの異なるフィルタとパケットを捕捉するデバイスを聴くことはできますか?例えば、私はフィルタを備えたデバイスのリスニングを開始し、パケットをpcapファイルにダンプします.15分後、別のフィルタを使って同じデバイス上で別のリスンを開始し、古いものを止めることなく別のpcapファイルにパケットをダンプできますか?2つの異なるフィルタを持つデバイスを聴くWinpcap

pcap_openまたはpcap_next_exは着信パケットをブロックしますか?パケットが2つの異なるスレッドからリッスンしながら到着した場合、そのうちの1つがパケットを取得し、フィルタを制御して他のスレッドがパケットにアクセスできるかどうかを意味します。

私は英語が間違っていて申し訳ありません。

答えて

2

私は別の異なるフィルタと同じデバイス上に耳を傾け、古いものを停止することなく、別のPCAP>ファイルにパケットをダンプを開始することができますか?

はい。しかし、それを処理するには、別のスレッド/プロセスでリスナーを起動する方がよいでしょう。

pcap_openまたはpcap_next_exは、着信パケットをブロックしますか?

これはありません。 1つの部分(あなたまたはOS)が着信パケットに追いつけない場合、パケットをpcapリスナにドロップします。

pcapもパケットを複製します(少なくとも* nix pcapと言って、winpcapは同じ動作をすると仮定します)。同じパケットをフィルタリングする複数のpcapリスナーがある場合、それらはすべてコピーを取得します。

0

開いているデバイスハンドルごとに、別々のフィルタとパケットバッファがあります。 ハンドル 'A'とハンドル 'B' は、両方のハンドルが同じネットワークデバイス上にあると言うことができます。

ここで、ネットワークデバイスが4パケットを取得するとします。

各パケットはハードウェアドライバに到達し、winpcapに到達します。その時点で winpcapは、各ハンドルフィルタを1つずつ適用します。 一致した場合、パケットはパケットバッファにコピーされます。 すべてのハンドルが処理された後、パケットはOSに渡されます。

pcap_openまたはpcap_next_exは着信パケットをブロックしますか?実際には、オペレーティングシステムは、アプリケーションが処理する前にパケットを見る可能性が高いということです。 私は間違っているかもしれませんが、私はwinpcapがパケットをブロックするための標準的な方法はないと思います。

関連する問題