Skip to main content

Crate rustflow_lib

Crate rustflow_lib 

Source
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§

CommonFlow
IERegistry
NetflowProcessor
Packet processor for NetFlow (v5, v9) and IPFIX data. Handles parsing, sampling rate extraction, and conversion to CommonFlow.
NetflowReader
A reader for NetFlow (v5, v9) and IPFIX data.
SflowProcessor
Packet processor for sFlow v5 data.
SflowReader
A reader for sFlow v5 data.

Enums§

NetflowPacket
Enum representing a parsed NetFlow/IPFIX packet.
NetflowReadResult
Result of reading a raw NetFlow/IPFIX packet.
SflowPacket
Enum representing a parsed sFlow packet.
SflowReadResult
Result of reading a raw sFlow packet.