これが私の見方です。
ネットワークアクティビティのコピーがバッファに書き込まれ、snoop
がバッファから読み取ります。 snoopがデータを十分に高速に取得できる限り(ファイルへの直接書き込みは、ターミナルまたはbzip
erへの書き込みよりも高速です)、バッファーがいっぱいになることはありません。
ただし、大量のネットワークアクティビティがあり、snoop
が(何らかの理由で)受信時に高速に書き出すことができない場合、snoop
は待機する必要があるため、元のバッファいっぱいになります。
バッファが大きくなるとどうなりますか?
:-/
:-o
B-)
私は特にSolarisに興味がありますが、他のUNIXシステムに関する情報も興味深いでしょう。
パケットは、アクティビティが多いときに遅延しないように、スヌープによってドロップされると思います。
Snoopは、キャプチャ中にドロップされたパケットの数を表示する-Dスイッチを提供します。
-s snaplen
スイッチを使用すると、snaplen
バイトの後にパケットキャプチャを切り捨てることができ、トラフィックが多い期間にバッファオーバーフローが発生する可能性が低くなります。
マニュアルページの警告セクションにもこれが記載されています
リアルタイムのパケット解釈では、処理のオーバーヘッドがはるかに高くなります。その結果、パケットドロップカウントが高くなる可能性があります。より信頼性の高いキャプチャを行うには、-oオプションを使用して生のパケットをファイルに出力し、パケットをオフラインで分析します。