PCAP 圧縮

Posted by fmadio | 100G Ethernet

PCAP 圧縮はシステムが使うストレージ量を大幅に削減するので、あらゆる真剣なパケットキャプチャ作業に必須です。キャプチャ中の圧縮は開発中ですが、我々はダウンロードの際のリアルタイム GZIP をサポートするようになりました。これはダウンロード帯域幅の削減に効果的で、Wireshark にもビルトインで .pcap.gz のサポートがあります。


  • packet capture compression

帯域幅削減

圧縮はディスクスペースの削減に効果的ですがキャプチャデバイスからファイルを転送するのにも役立ちます。特に長距離のWAN接続では、デスクトップマシンは常に「ラストマイル」の1G銅線接続があるので、そう言えます。今回、完全に GZIP 圧縮された PCAP を下記のようにウェブGUIからダウンロードできるようになりました。

packet capture compression

これは後処理として分割とフィルタリングの後で圧縮をすることで動作します。これにより完全なGZIPのサポートをしたままで分割とフィルタリングのあらゆる組み合わせが可能になります。たとえば rsync の圧縮された 1分間の PCAP をリモートマシンで生成する我々のPython Helper Scripts ヘルパースクリプトは下記の通りです。 $ ./capture_rsync.py --output /tmp/ --split split_1min --compress remote_basic_1453950384697651968_20160128_1206 RSync Capture Named [remote_basic_1453950384697651968_20160128_1206] [/tmp/remote_basic_1453950384697651968_20160128_1206_split_1min/remote_basic_1453950384697651968_20160128_1206__20160128_12:06:40.164.294.912.pcap.gz] Downloading... . . . .

圧縮性能

圧縮性能は決して 10Gbps にはなりませんが大まかに言って「gzip ­­ fast​」と等価な圧縮の場合、リアルタイムでおよそ 1Gbps になります。メディアが多くない(すなわち圧縮されていない)パケットキャプチャの場合、2倍から3倍の圧縮率を我々は確認しています。 結果として、1G 接続でのダウンロードは2倍から3倍速くなり、かつ、使用するディスクスペースは半分以下になります。素晴らしいことに、もし1G帯域幅の接続で制約されている場合、全くコストがかかりません。