RustFlow
A high-performance flow collector library for NetFlow, IPFIX, and sFlow.
Quick Start (Sync)
use rustflow::{NetflowReader, SflowReader};
// Read NetFlow/IPFIX data
let reader = NetflowReader::bind("0.0.0.0:9995").unwrap();
for flow in reader {
println!("{:?}", flow.unwrap());
}
// Or read sFlow data
let reader = SflowReader::bind("0.0.0.0:6343").unwrap();
for flow in reader {
println!("{:?}", flow.unwrap());
}
Async Support (with tokio feature)
# #[cfg(feature = "tokio")]
# async fn example() {
use rustflow::tokio::{NetflowReader, SflowReader};
let mut reader = NetflowReader::bind("0.0.0.0:9995").await.unwrap();
loop {
let flow = reader.read().await.unwrap();
println!("{:?}", flow);
}
# }