異なるパケットに対して異なる snaplen でパケットをキャプチャする方法

異なるパケットに対して異なる snaplen でパケットをキャプチャする方法

ネットワーク アプリケーションを診断するためにパケットをキャプチャしようとしています。アプリケーション レベルのプロトコル分析のためにコンテンツ全体をキャプチャしたいパケットは少数ですが、ヘッダーとペイロードの数バイトのみをキャプチャする必要があるパケットも大量にあります。これは 10 ギガビット (将来的には 25 ギガビットにしたい) リンク上で行われ、すべてをキャプチャするとキャプチャ スループットを維持するのに問題がありました。

tcpdump、dumpcap、tshark を調べましたが、いずれも変数 snaplen フィールドを指定するオプションがないようです。これが可能なキャプチャ ツールはありますか? の出力を見ると、dumpcap -dフィルターの戻り値は必要な snaplen か、キャプチャしない場合は 0 であることがわかります。ただし、これらのプログラムはいずれもコンパイルされた bfp を入力として受け取らないようです。

答え1

それぞれ適切なフィルターと snaplen を使用して 2 つのキャプチャを同時に実行し、mergecapWireshark に付属のツールを使用してそれらをマージします。

関連情報