Expand description
§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)
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);
}Modules§
- ipfix
- netflow_
v5 - netflow_
v9 - pcap
- Readers for pcap files.
- sflow
Structs§
- Common
Flow - IERegistry
- Netflow
Processor - Packet processor for NetFlow (v5, v9) and IPFIX data. Handles parsing, sampling rate extraction, and conversion to CommonFlow.
- Netflow
Reader - A reader for NetFlow (v5, v9) and IPFIX data.
- Sflow
Processor - Packet processor for sFlow v5 data.
- Sflow
Reader - A reader for sFlow v5 data.
Enums§
- Netflow
Packet - Enum representing a parsed NetFlow/IPFIX packet.
- Netflow
Read Result - Result of reading a raw NetFlow/IPFIX packet.
- Sflow
Packet - Enum representing a parsed sFlow packet.
- Sflow
Read Result - Result of reading a raw sFlow packet.