-tでTemplate FlowSetのフィールドを設定し、-oでOptions Template FlowSetのフィールドを設定しています。 Netflow Collectorの実装 Rustの tokio を用いて非同期で動くNetflow Collectorを実装していきます。Rustを使用する理由として、まず第一に素早くpacketを捌く性能がCollectorに求められるからです。さらにテンプレートベースのプロトコルでは、テンプレートをスレッド間で共有するのでデータ競合がおきないことが保証されているRustを選択しました。 本記事のコードは、main関数などの重複を覗いて一つのfileに上から順にコピペしても動くようになっています(適宜crateは追加してください)。 FlowMessage 以下のように、packetをparseした結果を格納する構造体を定義します。 (多くの
