
⭐ ⭐ 分散tcpdump - クラウドネイティブ環境向け ⭐ ⭐
Deepfence PacketStreamerは、高性能なリモートパケットキャプチャおよび収集ツールです。DeepfenceのThreatStrykerセキュリティ可観測性プラットフォームで使用され、クラウドワークロードからネットワークトラフィックをオンデマンドで収集し、フォレンジック分析を行います。
主な設計目標:
PacketStreamer センサーはターゲットサーバー上で起動されます。センサーはトラフィックをキャプチャし、フィルタを適用した後、中央のレシーバーにストリーミングします。トラフィックストリームはTLSを使用して圧縮や暗号化が可能です。
PacketStreamer レシーバーは、複数のリモートセンサーからのPacketStreamerストリームを受け入れ、パケットをローカルのpcapキャプチャファイルに書き込みます。

PacketStreamerセンサーはリモートホスト上で生のネットワークパケットを収集します。BPFフィルタを使用してキャプチャするパケットを選択し、中央のレシーバープロセスに転送します。レシーバーではpcap形式で書き込まれます。センサーは非常に軽量で、リモートホストへのパフォーマンスへの影響はほとんどありません。PacketStreamerセンサーはベアメタルサーバー、Dockerホスト、Kubernetesノード上で実行できます。
PacketStreamerレシーバーは複数のセンサーからのネットワークトラフィックを受け入れ、単一の中央pcapファイルに収集します。このpcapファイルを処理したり、トラフィックをZeek、Wireshark、Suricataなどのツールにライブフィードしたり、機械学習モデルのライブストリームとして使用したりできます。
PacketStreamerは、既存の代替手段よりも一般的なユースケースに対応します。たとえば、複数のマシンから生のネットワークデータを中央でログ記録および分析するために、軽量で効率的な方法が必要な場合はPacketStreamerを使用してください。
詳細な手順については、PacketStreamerドキュメントを参照してください。
PacketStreamerをビルドする前に、golangツールチェーンとlibpcap-devをインストールする必要があります。
# 前提条件(Ubuntu):sudo apt install golang-go libpcap-dev
git clone https://github.com/deepfence/PacketStreamer.git
cd PacketStreamer/
make
PacketStreamerレシーバーを実行し、ポート8081で待機し、pcap出力を**/tmp/dump_file**に書き込みます(receiver.yamlを参照):
./packetstreamer receiver --config ./contrib/config/receiver.yaml
1つ以上のPacketStreamerセンサーをローカルおよびリモートホストで実行します。sensor.yamlのサーバーアドレスを編集します:
# ターゲットホスト上で実行し、トラフィックをキャプチャして転送します
# サンプルの sensor-local.yaml ファイルをコピーして編集し、レシーバーホストのアドレスを追加します
cp ./contrib/config/sensor-local.yaml ./contrib/config/sensor.yaml
./packetstreamer sensor --config ./contrib/config/sensor.yaml
PacketStreamerをご利用いただきありがとうございます。
PacketStreamerプロジェクトに関するセキュリティ関連の問題については、productsecurity at deepfence dot io までご連絡ください。
必要に応じてGitHubイシューを報告し、DeepfenceコミュニティのSlackチャンネルに参加してください。
Deepfence PacketStreamerプロジェクト(このリポジトリ)はApache2ライセンスの下で提供されています。
Deepfence PacketStreamerプロジェクトへのコントリビューションも、GitHubのインバウンド=アウトバウンドポリシーに従い、Apache2ライセンスの下で受け付けられます。